在Vue中使用antv的示例代码


Posted in Javascript onJune 29, 2020

一,在vue原型中使用

1.首先安装antv/g2

yarn add @antv/g2 --save

2.在main.js中挂在到vue原型实例中

const G2 = require('@antv/g2')
Vue.prototype.$G2 = G2

3.在vue文件中可以直接在mounted生命周期中直接使用

<template>
 <div>
  <div id="c1"></div>
 </div>
</template>

<script>
export default {
 mounted() {
  this.initComponent();
 },
 data() {
  return {
   msg: "",
   chart: null,
   data: [
    { genre: "Sports", sold: 275 },
    { genre: "Strategy", sold: 115 },
    { genre: "Action", sold: 120 },
    { genre: "Shooter", sold: 350 },
    { genre: "Other", sold: 150 }
   ]
  };
 },
 methods: {
  initComponent() {
   const chart = new this.$G2.Chart({
    container: "c1",
    width: 600,
    height: 300
   });
   chart.source(this.data);
   chart
    .interval()
    .position("genre*sold")
    .color("genre");
   this.chart = chart;
   this.chart.render();
  }
 }
};
</script>

二,按需引用

1.还是安装atv/g2

yarn add @antv/g2 --save

2.直接在组件中按需引入

<template>
 <div>
  <div id="l1"></div>
 </div>
</template>

<script>
import { Chart } from "@antv/g2";
export default {
 data() {
  return {
   year: [
    { year: "1991", value: 3 },
    { year: "1992", value: 4 },
    { year: "1993", value: 3.5 },
    { year: "1994", value: 5 },
    { year: "1995", value: 4.9 },
    { year: "1996", value: 6 },
    { year: "1997", value: 7 },
    { year: "1998", value: 9 },
    { year: "1999", value: 13 }
   ]
  };
 },
 mounted() {
  this.initLineChart()
 },
 methods: {
  initLineChart() {
   const chart = new Chart({
    container: "l1",
    autoFit: true,
    height: 500
   });
   chart.data(this.year);
   chart.scale({
    year: {
     range: [0, 1]
    },
    value: {
     min: 0,
     nice: true
    }
   });
   chart.tooltip({
    showCrosshairs: true, // 展示 Tooltip 辅助线
    shared: true
   });
   chart
    .line()
    .position("year*value")
    .label("value");
   chart.point().position("year*value");
   chart.render();
  }
 }
};
</script>
<style scoped>
</style>

示例代码

<template>
 <div>
  <div><h1 style="color: white">{{title}}</h1></div>
  <span>
   <div id="c1"></div>
   <div id="mountNode"></div>
  </span>
 </div>
</template>

<script>
  import G2 from '@antv/g2';
  export default {
    name: "spectaculars",
    data(){
      return{
        title:'地区货品跟进看板',
        basicColumnChartProp:{
          data:[{ genre: 'Sports', sold: 275 },
            { genre: 'Strategy', sold: 115 },
            { genre: 'Action', sold: 120 },
            { genre: 'Shooter', sold: 350 },
            { genre: 'Other', sold: 150 }],
          container:'c1',
          width:600,
          height:300
        },
        basicBarChartProp:{
          container:'mountNode',
          size:{'width':500,'height':300},
          data:[
            {
              country: '巴西',
              population: 18203
            }, {
              country: '印尼',
              population: 23489
            }, {
              country: '美国',
              population: 29034
            }, {
              country: '印度',
              population: 104970
            }, {
              country: '中国',
              population: 131744
            }
          ]
        }
      }
    },
    methods:{
      test:function () {
        const data = this.basicColumnChartProp.data;
        // Step 1: 创建 Chart 对象
        const chart = new G2.Chart({
          container: this.basicColumnChartProp.container, // 指定图表容器 ID
          width : this.basicColumnChartProp.width, // 指定图表宽度
          height : this.basicColumnChartProp.height // 指定图表高度
        });
        // Step 2: 载入数据源
        chart.source(data);
        // Step 3:创建图形语法,绘制柱状图,由 genre 和 sold 两个属性决定图形位置,genre 映射至 x 轴,sold 映射至 y 轴
        chart.interval().position('genre*sold').color('genre')
        // Step 4: 渲染图表
        chart.render();
      },
      basicBarChart:function () {
        let data = this.basicBarChartProp.data;
        let chart = new G2.Chart({
          container: this.basicBarChartProp.container,
          width:this.basicBarChartProp.size.width,
          height:this.basicBarChartProp.size.height
        });
        chart.source(data);
        chart.axis('country', {
          label: {
            offset: 12
          }
        });
        chart.coord().transpose();
        chart.interval().position('country*population');
        chart.render();
      }
    },
    mounted() {
      this.test();
      this.basicBarChart();
    },
    beforeCreate () {
      document.querySelector('body').setAttribute('style', 'background:#000000')
    },
    beforeDestroy () {
      document.querySelector('body').removeAttribute('style')
    }
  }
</script>

<style scoped>

</style>

到此这篇关于在Vue中使用antv的示例代码的文章就介绍到这了,更多相关Vue中使用antv内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript中使用replace结合正则实现replaceAll的效果
Jun 04 Javascript
range 标准化之获取
Aug 28 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
Jul 29 Javascript
jQuery中ajax的load()与post()方法实例详解
Jan 05 Javascript
jquery实现的判断倒计时是否结束代码
Feb 05 Javascript
javascript中this指向详解
Apr 23 Javascript
socket.io学习教程之深入学习篇(三)
Apr 29 Javascript
vue2.0结合Element实现select动态控制input禁用实例
May 12 Javascript
详细讲解vue2+vuex+axios
May 27 Javascript
详解JavaScript的变量
Apr 04 Javascript
详解vue 2.6 中 slot 的新用法
Jul 09 Javascript
vue中如何添加百度统计代码
Dec 19 Vue.js
vue实现一个6个输入框的验证码输入组件功能的实例代码
Jun 29 #Javascript
纯JS开发baguetteBox.js响应式画廊插件
Jun 28 #Javascript
JavaScript图片旋转效果实现方法详解
Jun 28 #Javascript
javascript+css实现俄罗斯方块小游戏
Jun 28 #Javascript
详解小程序横屏方案对比
Jun 28 #Javascript
微信小程序实现上传多张图片、删除图片
Jul 29 #Javascript
js模拟实现百度搜索
Jun 28 #Javascript
You might like
基于PHP异步执行的常用方式详解
2013/06/03 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
Python多线程编程(五):死锁的形成
2015/04/05 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
python科学计算之narray对象用法
2019/11/25 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
社区端午节活动方案
2014/01/28 职场文书
毕业生自荐书
2014/02/02 职场文书
高一新生军训感言
2014/03/02 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
班级班风口号大全
2015/12/25 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技