Vue中动态渲染echarts数据

15 篇文章 0 订阅
1 篇文章 0 订阅

1、安装指定版本echarts

npm install echarts@5.3.1 --save

2、main.js中全局引入

import * as echarts from "echarts"
window.echarts = echarts;

3、vue页面中引用

 <div id="main" class="main_container"></div>

4、引入数据接口

import { bloodPressureList } from '../../api/healthMonitor/index'

5、data中存入echarts假数据

data() {
    return {
        //echarts数据
        option:{
         title: {
            text: '数据监测'
        },
        tooltip: {
            trigger: 'axis'
        },
        legend: {
            data: ['高数', '低数', '平数']
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: false
        },
        toolbox: {
            feature: {
            saveAsImage: {}
            }
        },
        xAxis: {
            type: 'category',
            data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
        },
        yAxis: {
            type: 'value'
        },
        series: [
            {
            data: [100, 120, 100, 120, 90, 80, 110],
            type: 'line',
            smooth: true,
            name: '高数',
            },
            {
            data: [75, 76, 59, 59, 60, 66, 69],
            type: 'line',
            smooth: true,
            name: '低数',
            },
            {
            data: [60, 60, 60,60, 60, 60,60],
            type: 'line',
            smooth: true,
            name: '平数',
            }
          ]
      }
    }
  },

6、在method中调用数据接口方法

initCharts() {
       //获取数据
       bloodPressureList().then(res => {
          //将json对象的所有数据组成一个数组
          var highPressureArr = [];
          res.data.sbpData.map(val => {
              highPressureArr.push(val);
          });
          var lowPressureArr = [];
          res.data.dbpData.map(val => {
              lowPressureArr.push(val);
          });
          //将json对象中的所有数据组成一个数组
          var monitoringTimeArr=[]
          res.data.date.map(val => {
              monitoringTimeArr.push(val);
          });
          setTimeout(()=>{ 
              myChart.setOption({
                  xAxis: {
                      data: monitoringTimeArr
                  },
                  series: [
                    {
                        data: highPressureArr
                    },
                    {
                        data: lowPressureArr
                    }
                  ]
              })
          }, 300 )
      })
      // 基于准备好的dom,初始化echarts实例
      var myChart = this.$echarts.init(document.getElementById('main'));
      // 绘制基本图表
      myChart.setOption(this.option);
     },

7、在mounted方法中调用渲染数据方法

mounted() {
    this.initCharts()
  },

8、处理echarts宽高

#main{
    margin-top: 15px;
    width: 80%;
    height: 60vh;
}
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue 动态渲染 Echarts 饼图可以通过以下步骤实现: 1. 首先,确保你已经安装了 EchartsVue。 ```bash npm install echarts vue-echarts ``` 2. 在你的 Vue 组件引入所需的库和组件。 ```javascript import * as echarts from 'echarts'; import VueECharts from 'vue-echarts'; ``` 3. 在模板使用 VueECharts 组件,并绑定必要的属性。 ```html <template> <div> <vue-echarts :options="chartOptions" :theme="chartTheme" :auto-resize="true"></vue-echarts> </div> </template> ``` 4. 在 Vue 组件的数据定义饼图的数据和配置项。 ```javascript data() { return { chartOptions: { title: { text: '饼图示例', left: 'center' }, series: [ { name: '访问来源', type: 'pie', radius: '50%', data: [ { value: 335, name: '直接访问' }, { value: 310, name: '邮件营销' }, { value: 234, name: '联盟广告' }, { value: 135, name: '视频广告' }, { value: 1548, name: '搜索引擎' } ], emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }, chartTheme: 'light' // 可选主题:'light', 'dark' }; } ``` 5. 在 Vue 组件的生命周期钩子初始化并渲染饼图。 ```javascript mounted() { this.$nextTick(() => { const chart = echarts.init(this.$refs.chart); // 初始化 Echarts 实例 chart.setOption(this.chartOptions); // 设置图表的配置项和数据 }); } ``` 通过以上步骤,你就可以在 Vue 动态渲染 Echarts 饼图了。你可以根据自己的需求调整饼图的数据和配置项,使其适应你的应用场景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

时间的情敌

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

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

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

打赏作者

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

抵扣说明:

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

余额充值