Vue动态加载ECharts图表数据小结

刚接触echarts只是知道他能辅助前端做数据展示,但是他的demo数据都是写死的,而正常数据都是通过axios请求服务器动态填充获取的啊,为此还一顿研究.....(真是傻了)。因为它本身是很简单的,echarts就是通过option进行无脑堆叠的,option本身就是json,你可以随意设置,设置好了之后重新刷新就行了啊。。。。。。。。。。下面简单说一下我的程序吧。


 动态数据基本分三步:

①在data中定义空的option:{}

②在created中为option图表设置赋值(数据项可为null)

③mounted中setoption展示图表的同时为option数据赋值(series中data数据赋值,legend图例数据赋值等)

具体请看下面

目录

1.引入图表

2.数据更改为动态获取

3.效果图--动态填充数据总览页


1.引入图表

引入常用的条形柱状图和南丁格尔扇形图。

2.数据更改为动态获取

首先在data中定义一个option选项,用来设置echarts所有配置项,这里先让他为空json,随后在create中对其进行赋值。

之后在created钩子函数中对option设置项进行赋值,也就是dom元素还没有挂载的时候就填充设置项及数据(里面的series),到这里你data中的option就已经赋值了。

option如何设置很无脑(真的很方便),可以直接参考echarts官网:

https://echarts.apache.org/examples/zh/index.html#chart-type-bar

之后就是关键的setOption了,使用刚指定的配置项和数据,显示图表。这里我完全定义成一个方法了。方便多处调用【mounted初始化,新数据刷新等】。

option设置项ok了,但是数据还没有传进去,所以下一步就是动态填充数据,这里我再data中模拟axios获取的数据【以扇形南丁格尔图说明】

之后在method中定义一个方法,为之前的option中的数据进行填充,因为此前option中涉及的数组都是空的。之后再mounted中挂载数据。

mounted挂载时候将获取的数据传给option中的数据就万事大吉了!!

之后如果有新数据来了,就可以btnRefreshNanding方法就ok了,其本质还是重新setoption是 this.chartPie.setOption(this.optionNanding);

3.效果图--动态填充数据总览页

  • 12
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Vue中使用Echarts动态加载数据的步骤如下: 1. 首先,需要在Vue组件中定义一个方法来获取动态数据。可以使用异步请求或者其他方式获取数据。在这个方法中,将获取到的数据处理成Echarts所需的格式,并将其赋值给一个变量,比如`eacartsData`。\[3\] 2. 在Vue组件的模板中,使用一个`div`元素来包裹Echarts图表,并给该`div`元素一个唯一的id,比如`echartsOne`。\[2\] 3. 在Vue组件的`mounted`生命周期钩子函数中,调用一个绘制Echarts图表的方法,比如`getEcharts()`。在这个方法中,使用`document.getElementById`方法获取到包裹Echarts图表的`div`元素,然后使用`echarts.init`方法初始化一个Echarts实例,并将其赋值给一个变量,比如`myChart`。接着,定义一个`option`对象,配置Echarts图表的样式和数据。在`series`属性中,将之前处理好的动态数据`eacartsData`赋值给`data`属性。最后,使用`myChart.setOption`方法将配置好的`option`应用到Echarts实例中。\[1\] 4. 最后,在获取到动态数据后,调用获取数据的方法,比如`getData()`。在这个方法中,通过异步请求或其他方式获取到数据,并将其处理成Echarts所需的格式。然后,将处理好的数据赋值给`eacartsData`变量,并调用`this.getEcharts()`方法重新绘制Echarts图表。\[3\] 这样,就可以实现在Vue动态加载数据并绘制Echarts图表了。 #### 引用[.reference_title] - *1* *2* *3* [vue引入echarts图表动态获取数据](https://blog.csdn.net/cuiyiran_/article/details/125456085)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韦_恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值