千家信息网

在vue中怎么封装G2图表

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,本篇内容介绍了"在vue中怎么封装G2图表"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vue封装G
千家信息网最后更新 2024年11月21日在vue中怎么封装G2图表

本篇内容介绍了"在vue中怎么封装G2图表"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

vue封装G2图表

本来是想将生成的方法封装到js文件中的,但是不知道为什么,import G2 进入js文件之后,vue便会卡在92%无法继续热更新,node的cpu占用率也会饱满,所以只好封装在.vue文件中,以子组件的形式被父组件调用。

本处需要注意的第一个问题,即为data中定义的chart,如果不定义,直接用let chart = new G2.chart(),也确实能够正常生成图表,但是当数据更新的时候,便会重新渲染生成新的图表,此时页面上会同时存在多个图表,所以需要提前定义chart,并使用this.chart = new G2.chart()。

本处需要注意的第二个问题,即为使用mounted钩子函数运行此函数时,因为并未检测到数据变化,所以不会生成有效图表,所以需要使用watch监听数据变化,当发生变化的时候,执行方法渲染图表。

vue引入G2图表

G2 是一套基于图形语法理论的可视化底层引擎,以数据驱动,提供图形语法与交互语法,具有高度的易用性和扩展性。使用 G2,你可以无需关注图表各种繁琐的实现细节,一条语句即可使用 Canvas 或 SVG 构建出各种各样的可交互的统计图表;

线上示例

特性

  • ???? 完善的图形语法:数据到图形的映射,能够绘制出所有的图表;

  • ???? 全新的交互语法:通过触发和反馈机制可以组合出各种交互行为,对数据进行探索;

  • ???? 强大的 View 模块:可支持开发个性化的数据多维分析图形;

  • ???? 双引擎渲染:Canvas 或 SVG 任意切换;

  • ???? 可视化组件体系:面向交互、体验优雅;

  • ✨全面拥抱 TypeScript:提供完整的类型定义文件;

介绍一下在vue中使用G2

安装G2依赖:

npm instal @antv/g2

在绘图前我们需要为 G2 准备一个 DOM 容器:

执行代码:

    import * as G2 from '@antv/g2';      export default {    mounted() {           const data = [                { genre: 'Sports', sold: 275 },                { genre: 'Strategy', sold: 115 },                { genre: 'Action', sold: 120 },                { genre: 'Shooter', sold: 350 },                { genre: 'Other', sold: 150 },            ];            // Step 1: 创建 Chart 对象            const chart = new G2.Chart({                container: 'c1', // 指定图表容器 ID                width: 600, // 指定图表宽度                height: 300, // 指定图表高度            });            // Step 2: 载入数据源            chart.data(data);            // Step 3:创建图形语法,绘制柱状图            chart.interval().position('genre*sold');            // Step 4: 渲染图表            chart.render();    }  }

效果展示:

"在vue中怎么封装G2图表"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0