当前位置:   article > 正文

Echarts+VUE实现普通饼图+玫瑰图+圆环图_vue简单的饼图

vue简单的饼图

一、代码实现

饼状图跟柱状图有点不一样,大部分设置是在series里面的label中进行设置,可以通过改动某些设置实现以下三种图。

  1. <template>
  2. <div id="main_pie" style="width: 100%; height: 450px"></div>
  3. </template>
  4. <script>
  5. import * as echarts from 'echarts';
  6. export default {
  7. name: "pie",
  8. data() {
  9. return {
  10. xy_data: [
  11. {name: '一', value: 100, value2: 190,},
  12. {name: '二', value: 180, value2: 110,},
  13. {name: '三', value: 120, value2: 170,},
  14. {name: '四', value: 160, value2: 160,},
  15. {name: '五', value: 140, value2: 130,},
  16. {name: '六', value: 280, value2: 240,},
  17. {name: '七', value: 320, value2: 300,},
  18. ],
  19. };
  20. },
  21. created() {
  22. this.initPie();
  23. },
  24. methods: {
  25. initPie() {
  26. this.$nextTick(() =>{
  27. // 基于准备好的dom,初始化echarts实例
  28. let myChart = echarts.init(document.getElementById('main_pie'));
  29. // 指定图表的配置项和数据
  30. let option = {
  31. // 全局颜色配置
  32. color: [
  33. '#c23531', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622',
  34. ],
  35. // echarts标题
  36. title: {
  37. text: '饼图'
  38. },
  39. tooltip: {},
  40. // legend中的data一定要跟series里面的data的name保持命名一致,否则无效,不会显示legend
  41. legend: {
  42. data: this.xy_data.map(item => {
  43. return {
  44. name: item.name.concat('月'),
  45. };
  46. })
  47. },
  48. series: [
  49. {
  50. // 数据全为0也显示扇区
  51. stillShowZeroSum: true,
  52. // 是否高亮
  53. legendHoverLink: true,
  54. // 玫瑰图
  55. // roseType: 'area',
  56. name: '销量',
  57. // 如果有两个值,则为圆环图,第一个值为内半径,第二个值为外半径
  58. // radius: ['20%', '60%'],
  59. radius: '70%',
  60. // 饼状图标签
  61. label: {
  62. show: true,
  63. // 标签显示的位置,默认为outside
  64. // position: 'inside',
  65. // 字符串模板,可对文本标签内容进行设置
  66. //{a}:系列名。{b}:数据名。{c}:数据值。{d}:百分比。等等,详细见网站
  67. formatter: '{b}:{d}%',
  68. },
  69. // 此系列自己的调色盘。优先级高于全局颜色配置
  70. // color: [
  71. // '#dd6b66',
  72. // '#759aa0',
  73. // '#e69d87',
  74. // '#8dc1a9',
  75. // '#ea7e53',
  76. // '#eedd78',
  77. // '#73a373',
  78. // ],
  79. type: 'pie',
  80. data: this.xy_data.map(item => {
  81. return {
  82. name: item.name + '月',
  83. value: item.value
  84. };
  85. })
  86. }
  87. ]
  88. };
  89. // 使用刚指定的配置项和数据显示图表。
  90. myChart.setOption(option);
  91. })
  92. },
  93. }
  94. };
  95. </script>

二、基础饼图

基础饼图的实现效果如下:

 三、圆环图

给radius设定两个值,第一个值为内半径,第二个值为外半径,这样就实现了简单的圆环图。

 四、玫瑰图(南丁格尔图)

在series里面加上roseType: 'area'即可实现玫瑰图的效果。

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

闽ICP备14008679号