Echarts图表设置百分比显示以及图表内容合并问题

本文档记录了在Echarts图表中遇到的百分比显示问题和内容合并问题的解决过程。在尝试动态切换图表时,百分比显示在初始状态下失效,但在页面调整或控制台开启后恢复正常。通过避免DOM操作,使用透明度控制图表显示,并调整图表的定位和层级解决了tooltip不显示的问题。此外,还提到了Echarts的setOption方法可能导致的数据内容合并,可以通过notMerge参数来防止内容合并。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

业务需求

需要开发一个动态tab用来切换Echarts图表的显示,tab项指定显示图表的展示数据。

实现思路

通过多个DIV标签承载Echarts图表。起初的思路是将多个DIV标签设置样式display:none:进行隐藏,在每次进行tab切换时,先改变DIV标签的样式让其显示,然后进行数据请求并绘制图表。

出现问题

本该按照百分比显示的Echarts图表只显示了很小的宽和高,当我打开控制台或者对页面布局大小进行控制,就会突然转换为百分比显示。

解决思路

因为动态的去让DOM元素取消与显示,可能会影响DOM的加载、图标的绘制。
所以想了两个办法,要么不操作DOM,要么不按百分比显示(利用媒体查询)。

媒体查询的方案期初在两个常见分辨率可以较好的显示,但这样的响应式存在较大的局限,也会影响用户体验,于是考虑不操作DOM。

让Echarts图表项隐藏的办法可以用透明度opacity来控制,这样就避开了DOM操作,此时将DIV标签绝对定位到父级标签。

新的问题

然后在切换时出现了新的问题,Echarts上的tooltip提示框没有显示,只显示了HTML中最后一个DIV的tooltip。

问题定位失败

对这个细节的思考,我竟然定位到了图表本身,既然有的图标能显示,显然不是图标的问题。我想到了透明度opacity属性是将其以及子代所有元素透明,是不是tooltip被透明了,我又错误的想使用background:rgba()方式进行透明度变更。以为只透明本身元素即可。试了以后才发现并不是这个影响。既然有一个Echarts的图表可以显示tooltip,就证明无关透明度本身了,而我连续两次问题定位失误。

问题解决

经过思考以后,我尝试改变D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值