当前位置:   article > 正文

vue Echarts之饼图的详解_vue中使用echarts给饼图动态赋值

vue中使用echarts给饼图动态赋值

最近项目中用到了Echarts,下面就来说下具体是怎么用的吧

一、安装Echarts   

npm install echarts --save

二、在main.js中引入

  1. import echarts from 'echarts'
  2. Vue.prototype.$echarts = echarts

三、接下来要详细的介绍饼图的使用啦   

  1. 在具体组件中进行引用(就像通过import引入其他组件类似)
    1. const echarts = require('echarts/lib/echarts')
    2. // 引入饼状图组件
    3. require('echarts/lib/chart/pie')
    4. require('echarts/lib/component/tooltip')
  2. 要给图留个坑的呀
    1. <div id="pie1" class="pie">
    2. <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
    3. <div id="main1" style="float:left;width:100%;height: 450px" />
    4. </div>

     

  3. 在methods中定义方法
    1. initData() {
    2. // 基于准备好的dom,初始化echarts实例
    3. const myChart = echarts.init(document.getElementById('main1'))
    4. myChart.setOption({
    5. tooltip: {
    6. trigger: 'item',
    7. formatter: '{a} <br/>{b} : {c} ({d}%)' // 具体a b c d 代表的属性看下面注释啦
    8. },
    9. series: [
    10. {
    11. name: '访问来源', // formatter 中的a
    12. type: 'pie',
    13. radius: '50%',
    14. center: ['50%', '60%'],
    15. data: [
    16. { value: 1, name: '你的呀', itemStyle: { color: '#D8ECFF' }, label: { color: '#666666' }, labelLine: { lineStyle: { color: '#666666' }}},
    17. { value: 1, name: '我的呀', itemStyle: { color: '#F5A623' }},
    18. { value: 1, name: '他的呀', itemStyle: { color: '#339DFF' }}
    19. ], // data 中的name为formatter中的 b;data中的value呢就是formatter中c;至于d就是Echarts计算出来的百分比啦;itemStyle:为饼图每个扇形的颜色;label为指示线后面的文字的样式,labelLine为指示线的颜色
    20. label: {
    21. normal: {
    22. show: true,
    23. textStyle: {
    24. fontWeight: 400,
    25. fontSize: 12 // 文字的字体大小
    26. },
    27. formatter: '{b} \n {c}人' // 这里为指示线后面的提示信息,这里的换行要用\n 与上面tooltips中的formatter换行不同滴
    28. }
    29. },
    30. itemStyle: {
    31. emphasis: {
    32. shadowBlur: 10,
    33. shadowOffsetX: 0,
    34. shadowColor: 'rgba(0, 0, 0, 0.5)'
    35. }
    36. }
    37. }
    38. ]
    39. })
    40. window.onresize = myChart.resize //自适应浏览器窗口的大小
    41. }

     

  4. 在mounted中调用initData方法
    this.initData()

    这样就大功告成啦  

    拿到接口的数据之后就可以给initData方法中data里面value赋值啦,注意赋值不能直接用this.data去赋值 此this非彼this 所以需要在方法里面定义一个变量const that = this这样就可以赋值啦 value:that.data;.....另外....,调用后台接口也要在mounted中进行

 

给大家看一下效果图

   

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/121098
推荐阅读