echarts自定义饼图数据刷新和颜色渲染问题浅析
作者:兔子先森 发布时间:2024-04-29 13:21:15
在使用echarts
的自定义饼图Customized Pie
时,定义的动态数据会发生颜色无法渲染的问题,如下图所示:
该图表的颜色是根据itemStyle
内的color
属性而来,如下:
itemStyle: {
color: '#4d90fe', /* 图表的颜色 */
shadowBlur: 200,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
动态渲染图表的数据,也就是更改option
里的数据,使用myChart.setOption(option);
即可动态渲染图表,但这个时候发现,部分图表的颜色是白色的,而且出现白色的区域是不固定的,这是因为设置了visualMap
,该属性就是用来约束视觉表现,通过data
的数据来进行视觉约束,具体数据如下:
// 图表数据
const data = reactive([
{ value: 486, name: '湖北' },
{ value: 438, name: '湖南' },
{ value: 574, name: '浙江' },
{ value: 732, name: '广东' },
{ value: 651, name: '上海' },
{ value: 759, name: '北京' }
])
// echarts的option属性
visualMap: {
show: false, // 是否显示色轮
min: 80, // 最小值
max: 600, // 最大值
inRange: {
colorLightness: [0, 1] // 物体的亮度范围
}
}
visualMap
的min
参数代表最低的value
值,max
代表最高value
值,上面的数据中,value
最高的达到了759
,超过了visualMap
的max
范围,所以会被设置为colorLightness
亮度的最大值1
,当一个物体的最大亮度到达了1
,那么它就会默认变为白色。
到这里我们可以有两种方法修改上述的白色区块问题:
1、修改min
和max
的取值范围
2、修改colorLightness
的最大亮度值
修改min和max的取值范围
min: 0, // 最小值
max: 1000, // 最大值
修改colorLightness的最大亮度值
colorLightness: [0, 0.8] // 物体的亮度范围
建议修改最大取值范围min
和max
,我们只取最大范围内的值即可。如果仅仅修改最大亮度,那么超出的最大范围的值它们的颜色就会是一样的。
一些报错问题和优化的解决
这种报错是因为echarts
已经初始化了,未卸载实例又进行了一次初始化就会报该错误,这种只需要实例化一次的,把初始化echarts
定义为全局变量,放到onMounted
里只实例化一次,全局调用即可。也可以使用echarts.init(domNode.value).dispose()
销毁和myChart.clear()
清除实例。
来源:https://segmentfault.com/a/1190000043743095


猜你喜欢
- Note: 本解决方案在window10 + anaconda3 +pycharm2020.1.1 + scrapy安装亲测可用问题:安装S
- 场景:服务器数据库需要实现每天定时备份1.首先确定备份脚本放置位置个人放置在 /usr/local/backup文件
- 有没有头疼过百度云盘都要塞满了,可是又没有工具能剔除大量重复无用的文件?这里教你一个简单的方法,通过整理目录的方式来处理我们云盘中无用的文件
- 前言 在网上爬取的小视频(.ts格式)打不开怎么搞?使用IDM下载有时候还会出现数据受法律保护,IDM无法下载该内容,如何解决?这篇博客就
- python画桃心表白python用turtle画简单图案比较方便,大一学python的turtle模块时,记得要画各种图案,如国旗,桃心等
- 1、Matplotlib 简介数据可视化有助于更有效地讲述有关数据的故事并使其易于呈现。有时很难用静态图表来解释数据的变化,为此,我们将讨论
- 在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。万能的python就自带了argprase包使得这一工作变
- 1. 是什么?MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Da
- 一、format格式输出字符串使用 % 操作符对各种类型的数据进行格式化输出,这是早期 Python提供的方法。字符串类型(str)提供了
- Python 相对路径报错:"No such file or directory"'原因及解决方法如果你取相对路
- 前言题目: Survey of Personalization Techniques for FederatedLearning会议: 20
- 在Python中一切都是对象。Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。对象之
- 一、序列序列可以使用在数据库表的自动增长列中来用,假如我们的学生表的id想从1开始,然后自动增长,每次增加2,也就是学生id是1、3、5、7
- 作为一个新手,你需要以下3个步骤:1、用户注册 > 2、获取token > 3、调取数据数据内容:包含股票、基金、期货、债券、外
- 这篇文章主要介绍了python已协程方式处理任务实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- Python中的变量作用域一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。全局变量所有作用域都可用,局部变量只能在本
- 1、说明迭代器还具有迭代用户定制类别的能力。迭代对象需要支持两种方式:_iter__()和next(),前者返回迭代本身,后者返回下一个元素
- 经常在办公的过程中会遇到各种各样的压缩文件处理,但是呢每个压缩软件支持的格式又是不同的。没有可以一种可以同时多种格式的并且免费的文件解压缩工
- python 3.x版本print输出不换行的格式如下:print(x, end="")其中,end=&quo
- 如下所示:lists = ['tom','Jack','luCy','lily