当前位置:   article > 正文

Echarts——绘制饼图并导入数据,tooltip中的formatter使用方法_echarts tooltip formatter

echarts tooltip formatter

目录

 tooltip中的formatter属性(提示框设置)


这里使用饼图中的环形图作为示例

首先新建一个盒子,通过ref获取DOM元素,并设置其宽高(一定要加宽高!)

 <div ref="opendoor" style="width: 100%; height: 225px"></div>

创建饼图并修改其样式

  1. var myChart = echarts.init(this.$refs.opendoor);
  2. var option;
  3. option = {
  4. tooltip: {
  5. trigger: "item",
  6. backgroundColor: "rgba(74, 144, 226, 0.84)",
  7. },
  8. // 右侧的五个小圆球
  9. legend: {
  10. orient: "vertical",
  11. right: 10,
  12. bottom: 20,
  13. textStyle: {
  14. color: "#999",
  15. padding: [2, 0, 0, 3], // 提示内边距
  16. },
  17. icon: "circle", // 形状
  18. itemWidth: 10,
  19. itemHegiht: 10,
  20. selectedMode: false, // 禁用鼠标移动显示效果
  21. },
  22. series: [
  23. // 对饼图以及内容的操作
  24. {
  25. name: "开门渠道占比",
  26. type: "pie",
  27. left: "-22%",
  28. top: "3%",
  29. radius: ["50%", "70%"],
  30. avoidLabelOverlap: false,
  31. // center: ["50%", "50%"],
  32. label: {
  33. show: false,
  34. position: "center",
  35. },
  36. itemStyle: {
  37. borderWidth: 2,
  38. borderColor: "rgba(16,16,21,0.4)",
  39. },
  40. emphasis: {
  41. label: {
  42. color: "#4a90e2",
  43. show: true,
  44. fontSize: "14",
  45. lineHeight: 22,
  46. },
  47. },
  48. color: [
  49. "#60ADCD",
  50. "#517EDA",
  51. "#C95C45",
  52. "#F6BD16",
  53. "#51BC93",
  54. "#536382",
  55. ],
  56. labelLine: {
  57. show: true,
  58. },
  59. data: optionData,
  60. },
  61. ],
  62. };
  63. option && myChart.setOption(option);

   在外层包裹一个函数进行使用

  1. rightBottom() {
  2. if (userChannelData.code !== 0) return;
  3. let optionData = [
  4. {value: userChannelData.data.wxMiniOpenCount || 0, name: '小程序开门'},
  5. {value: userChannelData.data.userFaceOpenCount || 0, name: '人脸开门用户'},
  6. {value: userChannelData.data.appOpenCount || 0, name: 'App开门'},
  7. {value: userChannelData.data.aliPayOpenCount || 0, name: '支付宝开门'},
  8. {value: userChannelData.data.otherOpenCount || 0, name: '其他'}
  9. ]
  10. var myChart = echarts.init(this.$refs.opendoor);
  11. var option;
  12. option = {
  13. tooltip: { // 提示框样式
  14. trigger: "item",
  15. backgroundColor: "rgba(74, 144, 226, 0.84)",
  16. },
  17. // 右侧的五个小圆球
  18. legend: {
  19. orient: "vertical",
  20. right: 10, // 位置
  21. bottom: 20,
  22. textStyle: {
  23. color: "#999",
  24. padding: [2, 0, 0, 3], // 提示内边距
  25. },
  26. icon: "circle", // 形状
  27. itemWidth: 10,
  28. itemHegiht: 10,
  29. selectedMode: false, // 禁用鼠标移动显示效果
  30. },
  31. series: [
  32. // 对饼图以及内容的操作
  33. {
  34. name: "开门渠道占比",
  35. type: "pie",
  36. left: "-22%",
  37. top: "3%",
  38. radius: ["50%", "70%"],
  39. avoidLabelOverlap: false,
  40. // center: ["50%", "50%"],
  41. label: {
  42. show: false,
  43. position: "center",
  44. },
  45. itemStyle: {
  46. borderWidth: 2,
  47. borderColor: "rgba(16,16,21,0.4)",
  48. },
  49. emphasis: {
  50. label: {
  51. color: "#4a90e2",
  52. show: true,
  53. fontSize: "14",
  54. lineHeight: 22,
  55. },
  56. },
  57. color: [
  58. "#60ADCD",
  59. "#517EDA",
  60. "#C95C45",
  61. "#F6BD16",
  62. "#51BC93",
  63. "#536382",
  64. ],
  65. labelLine: {
  66. show: true,
  67. },
  68. data:optionData ,
  69. },
  70. ],
  71. };
  72. option && myChart.setOption(option);
  73. },

mounted中调用

  this.rightBottom();// 开门渠道占比

把图表中的data单独拎出来进行百分比装换(里面是模拟的数据结构)

  1. let optionData = [
  2. {value: userChannelData.data.wxMiniOpenCount || 0, name: '小程序开门'},
  3. {value: userChannelData.data.userFaceOpenCount || 0, name: '人脸开门用户'},
  4. {value: userChannelData.data.appOpenCount || 0, name: 'App开门'},
  5. {value: userChannelData.data.aliPayOpenCount || 0, name: '支付宝开门'},
  6. {value: userChannelData.data.otherOpenCount || 0, name: '其他'}
  7. ]

结构如下:

 tooltip中的formatter属性(提示框设置)

内容如下给出解释:

  1. tooltip : {
  2. formatter: '{a} <br/>{b}: {c} ({d}%)',//默认值null,内容格式器
  3. //折线(区域)图、柱状(条形)图、K线图 : a(系列名称),b(类目值),c(数值), d(无)
  4. //散点图(气泡)图 : a(系列名称),b(数据名称),c(数值数组), d(无)
  5. //地图 : a(系列名称),b(区域名称),c(合并数值), d(无)
  6. //饼图、雷达图、仪表盘、漏斗图: a(系列名称),b(数据项名称),c(数值), d(饼图:百分比 | 雷达图:指标名称)
  7. }

效果如下: 

鼠标旋移中间的样式如下:

  1. emphasis: {
  2. label: {
  3. color: "#4a90e2",
  4. show: true,
  5. fontSize: "14",
  6. lineHeight: 22,
  7. formatter: '{d}% \n {b}' //这个意思大概就是上层是百分比下层是名称
  8. },
  9. },

 原先官网给出的图

修改之后的效果:

加个自动的时间戳详情见自动轮播提示框

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

闽ICP备14008679号