Echarts 颜色管理
1.Echarts的颜色设计
- Echarts的颜色的设置分为两种:色盘和具体颜色
- 色盘适合做全局设置,因为他里面有多个颜色,通俗的说色盘就是颜色预设值列表,色盘统一使用color属性进行配置。
- 而具体元素或者具体系列只有一个颜色时,可以单独为其进行设置,他的值为单个颜色值,但是具体元素和具体系列的类别不一样,没有统一的配置项名称,需要用时按文档进行配置。
- 当某个系列需要多种颜色支持时,请使用色盘。当某个系列或者元素只有一个颜色时,且不项使用默认的颜色时,这时候可以进行具体的配置
2.色盘的介绍
色盘就是一个数组,每个元素是一个颜色值,每个系列的数据按照先后顺序从色盘数组中依次取色,例如:
不同版本默认的色盘可能不一致,这是V4的默认效果:

3.设置全局色盘
option下面的color节点用来设置全局色盘的颜色,每个系列根据先后顺序从色盘取色,全局色盘适用于折线图,直方图这种图表,因为他们每个系列只有一种颜色。
option: {
color:["#ff0000","#00ff00","#0000ff"],//红绿蓝
}

4.设置系列的色盘
有时候只希望设置的色盘只在某个系列里面生效,可以将color属性写入到相应的系列里面
色盘是多颜色预设列表,如果设置在某个系列里面,需要这个系列支持多颜色,例如饼图,饼图一个系列需要多种颜色支持。而折线图,直方图这种图表本身只有一个颜色,所以为其设置系列色盘时只有第一个颜色才有效,所以这种图表不推荐设置色盘。
方法:在serise的元素中配置color属性
option3: {
series: [
{
color: ["#ff0000", "#00ff00", "#0000ff"],//红绿蓝
name: '访问来源',
type: 'pie', // 设置图表类型为饼图
radius: '55%', // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
data: [ // 数据数组,name 为数据项名称,value 为数据项值
{ value: 235, name: '视频广告' },
{ value: 274, name: '联盟广告' },
{ value: 310, name: '邮件营销' },
]
}
]
}


注意:系列色盘的优先级高于全局色盘
4.设置具体系列或元素的颜色 itemStyle
为某个系列设置单个颜色时,可以使用itemStyle.color为其配置颜色,他的好处在于只在当前系列生效,不影响全局颜色分配
series: [
{ type: 'bar', name: "1", data: [20, 15, 10, 75, 85, 20] ,itemStyle:{color:'#ff0000'}},
{ type: 'bar', name: "2", data: [15, 25, 20, 85, 45, 50] ,itemStyle:{color:'#00ff00'}},
{ type: 'bar', name: "3", data: [10, 35, 40, 45, 25, 30] ,itemStyle:{color:'#0000ff'}},
]

series: [
{ type: 'line', name: "1", data: [20, 15, 10, 75, 85, 20] ,itemStyle:{color:'#ff0000'}},
{ type: 'line', name: "2", data: [15, 25, 20, 85, 45, 50] ,itemStyle:{color:'#00ff00'}},
{ type: 'line', name: "3", data: [10, 35, 40, 45, 25, 30] ,itemStyle:{color:'#0000ff'}},
]

itemStyle中的color属性值可以是一个函数,data中每个数据渲染时都会执行一遍,通过参数可以返回不同的颜色值,从而让每个数据代表的元素拥有不同的颜色
itemStyle:{
color:function(e){
//e.dataIndex
var colorArr = ['red','yellow','green']
return colorArr[e.dataIndex]
}
}

5.渐变色生成函数
前面使用的颜色都是单一的颜色值,Echarts还支持渐变色,渐变色设置有2中方法:
- (1)配置法:将color属性的值设置为对象,通过相应的配置来生成渐变色
- (2)api调用法:通过调用相应的api,传入配置项来返回想要的渐变色。
渐变有两个因素:颜色和角度。
在Echarts中,角度由四个坐标决定,即: (x2 - x)会有一个横向的向量距离,(y2 - y)会有一个纵向的向量距离,这两个向量连接起来的角度就是渐变的角度
下面两种效果是一致的
series: [{
type: 'bar',
name: "1",
data: [20, 15, 10, 75, 85, 20],
itemStyle: {
color: {
type: 'linear',//渐变类型 线性渐变
x: 0,y: 0,x2: 0,y2: 1,
//四个坐标决定渐变的角度
colorStops: [{
offset: 0,
color: '#ff0000' // 0% 处的颜色
},
{
offset: 1,
color: '#00ff00' // 100% 处的颜色
}],
globalCoord: false // false表示四个坐标值使用比例 true则表示四个坐标值是绝对的像素位置
}
}
},
{
type: 'bar',
name: "1",
data: [20, 15, 10, 75, 85, 20],
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, //四个坐标决定渐变的角度
[{
offset: 0,
color: '#ff0000' ,// 0% 处的颜色
},
{
offset: 1,
color: '#00ff00',// 100% 处的颜色
},
])
}
},
]

将四个坐标设置成下面
x: 0,y: 0,x2: 1,y2: 1,

Echarts 颜色管理的更多相关文章
- Color.js 增强你对颜色的控制
Color.js是一个能加强前端开发中对颜色处理的第三方库. 假设你已经基本了解色彩通道.色彩空间.色相.饱和度.亮度.不透明度等概念.当然了,毕竟前端算是半只脚踏进设计领域了,相信这些概念难不到你. ...
- Color.js增强你对颜色的控制
往逝之因 不要低头,皇冠会掉... 可你又没有皇冠 Color.js 增强你对颜色的控制 阅读目录 轻松管理颜色--color.js库 使用color.js Accessor Methods 你该知 ...
- Photoshop颜色出现比较大的偏差,偏色严重,显示器配置文件2351似乎有问题
其实出现这个问题是因为 显示器的配置问题.并不是PS版本或者电脑系统问题. 一般在你首次启动PS的时候会出现提示:显示器配置文件2351似乎有问题. 如果你点击了继续运行那以后你使用PS打开任何文件都 ...
- echarts常见配置项总结,legend、toolbox、tooltip等
1.饼状图指示线改变颜色:series.labelLine.lineStyle series : [ { name: '默认文字', type: 'pie',//类型饼状图 hoverAnimatio ...
- [lr & ps] 色彩空间管理
色彩空间 • 定义 色彩空间,Color Space,又称作色域.在色彩学中,人们建立了许多色彩模型,以一维.二维.三维甚至四维空间坐标来表示某一色彩,这种坐标系统所能定义的色彩范围即色彩空间.我们经 ...
- Quartz 2D编程指南(4) - 颜色和颜色空间
不同的设备(显示器.打印机.扫描仪.摄像头)处理颜色的方式是不同的.每种设备都有其所能支持的颜色值范围.一种设备能支持的颜色可能在其它设备中无法支持.为了有效的使用颜色及理解Quartz 2D中用于颜 ...
- 个人永久性免费-Excel催化剂功能第77波-专业图表制作辅助之批量维护序列点颜色及数据标签
2018年最后一天工作日完成第77波,7是代表完美,2个7,双重的完美,Excel催化剂的2018年从始至终共77波都充满着完美接近极致的功能体验.感谢各位一路相随,陪伴成长.最后一波,再次让数据分析 ...
- echarts图表自适应盒子的大小(盒子的大小是动态改变的),大到需要全屏展示
项目中用到了echarts,并且页面是自适应的,且页面中有一个[放大.缩小]功能,因此图表还需要根据盒子的大小来变化. 即:两个需求,如下: ① 图表根据窗口的大小自适应 ② 图表根据所在盒子的大小自 ...
- 国庆总结:echarts自定义颜色主题,保证你看的明明白白
为什么需要使用颜色主题 随着用户审美越来越高,不再是过去那样只注重功能. 所以对界面的颜色样式都具有一定的审美要求 此时颜色是否好看就非常重要了 因为人都是视觉动物 对界面的第一印象肯定都是颜色. 如 ...
- [WPF]颜色主题功能
效果 点击选择皮肤颜色 代码 public enum Themes { Blue, Gray, Orange } /// <summary> /// 主题颜色管理类 /// </su ...
随机推荐
- TypeScript – Decorator 装饰器
前言 TypeScript 5.0 之后就可以使用正真的 JS Decorator 了, 从前 experiment 的版本依然可用, 但是不建议继续用, 因为差很远, 一起用会混乱. Decorat ...
- JavaScript – 单线程 与 执行机制 (event loop)
前言 因为在写 RxJS 系列,有一篇要介绍 Scheduler.它需要对 JS 执行机制有点了解,于是就有了这里篇. 参考 知乎 – 详解JavaScript中的Event Loop(事件循环)机制 ...
- [OI] throw
throw 主要是用来抛出异常. throw 可以直接向主程序 throw 一个东西,可以是各种数据类型,显示在界面上就是抛出的数据类型. int main(){ throw 1; } termina ...
- Windows 笔记本 WiFi 功能消失问题解决
背景说明 许多 Windows 笔记本用户可能会遇到 WiFi 功能突然消失的问题.虽然网上有各种说法,但实际上,这个问题通常并非由病毒引起.大多数情况下,问题的根源是驱动程序丢失或笔记本静电干扰导致 ...
- gadget驱动框架(二)
usb_composite_driver的创建于注册 源码:drivers/usb/legacy/serial.c //创建usb_composite_driver static struct usb ...
- 更新预警(bushi)
一回首,上次更新已经是将近3个月前了.但是博主不是似了,也不是逍遥快活游山玩水纸醉金迷乐不思蜀,而是上班太忙还是单休,所以没什么时间更新博客.但是今天我要开始忏悔了!预计更新以下几个专题(不一定真的会 ...
- javaScript遍历对象总结
定义对象: const obj = { name: 'zlx', id: 245, age: 25, gender: '男', } 1. 使用 for... in..循环遍历 对象的属性有2种方式可以 ...
- SQL注入利用及绕过总结
SQL注入及绕过姿势总结 概述 SQL注入指用户输入的参数可控且没有被过滤,攻击者输入的恶意代码被传到后端与SQL语句一起构造并在数据库中执行 不同数据库的语法可能存在差异,以MySQL为例,其他差异 ...
- mysql进阶-锁
锁 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(CPU.RAM.I/O)的争用以外,数据也是一种供许多用户共享的资源. 如何保证数据并发访问的一致性.有效性 ...
- 批处理-- 查询进程,杀进程,启动pythond程序,任务计划程序
@echo off wmic process where caption="python.exe" get processid,commandline | findstr &quo ...