当前位置:   article > 正文

echarts 自定义事件交互方式修改_echarts 交互修改数值

echarts 交互修改数值

需求:

 

1.点击某个图例,图例高亮,只显示并选中当前的图例,同时展示数据。

   再次点击这个高亮的图例,则全部图例选中

2.点击其他置灰图例,则此图例高亮,再次点击后,全部选中。

 实现的方式类似与于排他思想吧。

  1. // 1.找到实例化的图例对象 也就是dom 比如 vue 的ref
  2. let myChart = this.$refs.myChart.echarts;
  3. // 或者 echarts 官方的
  4. var chartDom = document.getElementById('main');
  5. var myChart = echarts.init(chartDom);
  6. // 其实以上都是为了找到echarts对象的实例,然后注册下面的事件
  7. // 如果找到了,只需要粘贴下面代码既可
  8. myChart.on("legendselectchanged", (e) => {
  9. const { selected, name } = e;
  10. const otherArr = Object.keys(selected).filter((item) => item !== name);
  11. const flagFalse = otherArr.every((item) => !selected[item]);
  12. // 1.如果除了目标图例,其他都是false,则要全选
  13. // 2.如果此时其他所有图例都是 true,则除目标图例之外其他图例全部不选中
  14. if (flagFalse) {
  15. // 选中所有图例
  16. myChart.dispatchAction({
  17. type: "legendAllSelect",
  18. });
  19. } else {
  20. // 选中变化图例
  21. myChart.dispatchAction({
  22. type: "legendSelect",
  23. name: name,
  24. });
  25. // 取消选中除了点击图例之外的其他图例
  26. otherArr.forEach(item => {
  27. myChart.dispatchAction({
  28. type: 'legendUnSelect',
  29. name: item
  30. })
  31. })
  32. }
  33. });

以上代码也可以直接粘贴复制到官方的示例中查看效果,无需任何代码改动,如下图。

 

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

闽ICP备14008679号