使用Echarts踩过的坑
我曾经多次感慨,Echarts太强大了,想要的内容几乎都能在配置项中找到。
但也正是这一点,让我有点儿措手不及,配置项实在是太多了,很多时候不知道该用哪一个。今天我就将自己在使用过程中踩过的坑来一一描述。
一、世界地图,使用visalMap,点击国家后,再点击图例,点击过的国家显示黄色。
这是困扰了我大半天的一个问题,因为正是这个黄色,在我们的项目中配得上一个bug,因为刚好跟我们渲染的颜色重合了。还有一个小问题,我这个图例点击之后,颜色特别浅,这个是需要调整的。
我的配置项是这样写的:
visualMap: {type: 'piecewise',realtime: false,show: false,calculable: true,textStyle: {color: '#666',fontSize: 12,},right: 16,top: 64,align: 'left',itemWidth: 8,// 鼠标悬浮到 visualMap 组件上时,鼠标位置对应的数值 在 图表中对应的图形元素,会高亮。// hoverLink: false,pieces: [{gte: 2.1, label: '危急', symbol: 'circle', color: '#B32424'},{gte: 1.5, lte: 2.1, label: '高危', symbol: 'circle', color: '#FF3333 '},{gte: 0.5, lte: 1.5, label: '中危', symbol: 'circle', color: '#FF9F40'},{lte: 0.5, label: '低危', symbol: 'circle', color: '#FFCB48'}],},
场景:点击某个国家,再点击图例,咦,点击过得国家颜色变为了黄色。具体图片可参考我的另一篇文章:Echarts 5实现世界地图思路及踩过的坑(含详细代码+图表自适应方案)_Delicia_Lani的博客-CSDN博客
解决思路:其实在找到最后的解决方案之前,我有一番探索,在思考如果能够保证这个图例的点击事件不触发,那颜色既不会变浅,国家的颜色也不会变为黄色。在这一实现思路上探索了好久,最终发现,没法监听到visalMap的事件。其实也找到了几个,我应用后无效。
就是这儿:ECharts视觉映射组件的触发事件_w3cschool
解决方案:第一反应肯定是有哪个配置项可以更改这个黄色,点击图例后的颜色应该也是可以调整的。无奈我找了好久也没找到。(可能是我眼不好使,有找到该配置项的小伙伴可以联系我)。
最终的解决方案是写一个div,展示假的图例,将原来的真正图例覆盖。这个时候不知道小伙伴们有没有疑问。地图上的国家到底是显示哪个颜色,是由visalMap中的配置项中的值的范围来控制的,现在如果将原来的图例覆盖,那各个国家如何对应上来显示什么颜色呢?
这里只是覆盖,原本的visalMap配置项保持不变,这样是能做到国家与图例颜色对应的。使用该解决方案,既解决了点击图例之后,颜色变浅的问题,又解决了图例无法点击,保证点击后的国家颜色不变的问题。
二、世界地图中,点击某个国家后,颜色变为黄色
这个问题看起来跟第一个问题有点儿类似,确实是这样,甚至最终的解决方案也是用的同一种,但这是我遇到的世界地图中的第一个问题,所以也把当时的一个实现思路记在这里。
最后是发现有API表示点击某个国家后的颜色变化的。当时我是这样解决的。我这里是要判断原本有没有颜色,如果有保持原来的颜色不变,如果没有,将设置的颜色覆盖默认的黄色。
this.$refs.worldMapChart.chart.on('click', function(params) {if (params?.event?.target?.states?.select?.style) {params.event.target.states.select.style.fill = params.color ? params.color : '#F7F7F7';}});
重点:问题一二的解决方案应该用这个配置项:
series: [{select: {label: {show: false},itemStyle: {areaColor: '#F7F7F7'}},}
]
使用Echarts踩过的坑相关推荐
- [vue] 有在vue中使用过echarts吗?踩过哪些坑?如何解决的?
[vue] 有在vue中使用过echarts吗?踩过哪些坑?如何解决的? vue 没用过echarts react到是用过 不过我想应该差不多 ,多注意dom的渲染时机 和chart的实例化时机 在相 ...
- echarts实现中国地图踩过的坑--------有些省的value可以拿到,有些省的value拿不到
最近在使用echarts来写图表,踩过无数的坑,也崩溃过很多次,不过断断续续差不多一周多的时间里,也慢慢的进入了echarts的状态,坑,还是得多踩,踩着踩着,就没了. --------------- ...
- 【大屏】 amap + echarts 踩坑以及避免办法
amap + echarts 踩坑以及避免办法 大屏 踩坑 代码 大屏 html,body,#container { margin: 0; padding: 0; width: 5376px; hei ...
- mac git使用与配置踩过的坑
#mac git使用与配置踩过的坑 标题mac配置git ssh密钥 参考链接mac配置git ssh key go get安装失败的解决方法 go get约等于git clone+go instal ...
- java项目经理也就那么回事_网易PM | 我们之前在需求评审环节踩过的坑...
原本觉得需求评审也就那么回事儿,大家应该都差不多这么做的,没啥好说的.不过前不久有一位同学问起来我们是怎么做需求评审的,然后发现有一些团队的做法可能还不大一样,他们也还踩着我们之前踩过的坑,他们还在探 ...
- Redis 集群部署及踩过的坑
本文目标 要在单台机器上搭建Redis集群,方式是通过不同的TCP端口启动多个实例,然后组成集群,同时记录在搭建过程中踩过的坑. 安装准备 centos版本:6.7 redis版本:3.2.3 安装方 ...
- AWS Device Farm介绍及Appium踩过的坑
本文记录了在AWS Device Farm上进行Appium TestNG进行手机应用UI自动化测试的流程及遇到的问题,及具体的解决方法.同时记录了使得测试脚本更稳定的一些代码写法. Device F ...
- arcgis python 二次开发_我在部署ArcGIS API for Python时踩到的坑
ArcGIS API for Python相比于其他ESRI产品,还是很年轻.我在部署时踩到了坑,网上也找不到解决方法,很是煞风景,也很打击学习的积极性. 今天回顾一下,做个总结吧.一方面自己备忘,另 ...
- 开发路上踩过的坑要一个个填起来————持续更新······(7月30日)
欢迎转载,请注明出处! https://gii16.github.io/learnmore/2016/07/29/problem.html 踩过的坑及解决方案记录在此篇博文中! 个人理解,如有偏颇,欢 ...
最新文章
- 凯明MAE被超越了?字节跳动iBOT刷新十几项SOTA
- 祝贺自己itpub和csdn双双荣获专家博客标题
- 洛谷—— P1875 佳佳的魔法药水
- python des解密_python实现DES加密解密方法实例详解
- 【Leetcode | easy】两数之和
- 如何使用frame框架,将左边视为导航栏,右边作为链接界面
- 不显示坐标刻度_Excel---不等距坐标刻度,你会吗?工作小技巧
- PHP 必须勾选用户协议,javascript实现用户必须勾选协议实例讲解
- python编程入门视频-带学《Python编程:从入门到实践》
- javaweb前后台中文参数乱码
- win10各版本的历史记录
- 【开源】浏览器书签层级可视化
- 使用canvas绘制水滴(二次贝塞尔曲线、圆弧)
- 2012-07-29 入手第一款Apple产品:The New iPad
- 海康练习设备网络抓图错误代码29
- 如何将图片转化为base64编码格式,在css中显示
- 老船履带工具使用方法_船舶通导设备的日常维护要点归纳
- [Appium] App自动化-元素定位
- 邮件-域名-DNS相关知识
- 卡拉赞服务器延迟,魔兽世界8.1法师延迟容限调多少