在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 字符串乘法
Aug 20 Javascript
Textarea与懒惰渲染实现代码
Jan 04 Javascript
js写的评论分页(还不错)
Dec 23 Javascript
Jquery实现控件的隐藏和显示实例
Feb 08 Javascript
jquery实现加载进度条提示效果
Nov 23 Javascript
JS组件Form表单验证神器BootstrapValidator
Jan 26 Javascript
Js调用Java方法并互相传参的简单实例
Aug 11 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
Oct 03 Javascript
深入理解vue $refs的基本用法
Jul 13 Javascript
Angular指令之restict匹配模式的详解
Jul 27 Javascript
利用JavaScript的Map提升性能的方法详解
Aug 14 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
Apr 23 Javascript
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
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
php代码架构的八点注意事项
2016/01/25 PHP
实例解析php的数据类型
2018/10/24 PHP
代码生成器 document.write()
2007/04/15 Javascript
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
js获取iframe中的window对象的实现方法
2016/05/20 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
Mac下安装vue
2018/04/11 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
python实现图片变亮或者变暗的方法
2015/06/01 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
python的继承知识点总结
2018/12/10 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
python多线程与多进程及其区别详解
2019/08/08 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
python简单实现9宫格图片实例
2020/09/03 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
毕业生求职自荐信怎么写
2014/01/08 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
家长会感言
2015/08/01 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
检讨书范文
2019/04/16 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
用JS创建一个录屏功能
2021/11/11 Javascript