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 ...
随机推荐
- 【论文解读】System 2 Attention提高大语言模型客观性和事实性
一.简要介绍 本文简要介绍了论文"System 2 Attention (is something you might need too) "的相关工作.基于trans ...
- 记一次 .NET某上位机视觉程序 卡死分析
一:背景 1. 讲故事 前段时间有位朋友找到我,说他的窗体程序在客户这边出现了卡死,让我帮忙看下怎么回事?dump也生成了,既然有dump了那就上 windbg 分析吧. 二:WinDbg 分析 1. ...
- CF228E 题解
CF228E 题解 题目简述 给定一个 \(n\) 个点,\(m\) 条边的无向图,每条边都为 \(0\) 或 \(1\),可以进行若干次操作,与此点相连的所有点权值取反,求一种方案使得所有边都变为 ...
- SpringBoot系列:使用原生JDBC实现对数据库的增删改查
application.yml spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306 ...
- QT与JavaScript之QT6应用程序与JavaScript脚本集成开发:C++应用程序能与JavaScript实现相互调用吗?
简介 QT6框架中提供了JavaScript引擎类型QJSEngine ,可用于实现 C++应用程序和JavaScript代码之间的相互调用. 目录 什么是 ECMAScript ? JavaScri ...
- 2024 年 C# 高效开发:精选实用类库
前言 在平时开发中,好的类库能帮助我们快速实现功能,C#有很多封装好的类库. 本文将介绍一些2024年特别受欢迎的C#类库,并分析各自的优点让我们编程写代码变的更轻松.更快捷. 快来看一看有没有大家常 ...
- 《HelloGitHub》第 102 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. github.com/521xueweihan/HelloG ...
- 逆向 Virustotal 搜索接口 X-VT-Anti-Abuse-Header
逆向 Virustotal 搜索接口 X-VT-Anti-Abuse-Header 搜索示例 搜索 123,网页地址为:https://www.virustotal.com/gui/search/12 ...
- Android 车载应用开发指南 - CAN Bus 协议详解
在现代车载应用开发中,CAN(Controller Area Network)总线协议扮演着不可或缺的角色.作为一个汽车内部网络的标准协议,CAN Bus 已经成为了车载系统通信的基础.而在 An ...
- 从0到1实现项目Docker编排部署
在深入讨论 Docker 编排之前,首先让我们了解一下 Docker 技术本身.Docker 是一个开源平台,旨在帮助开发者自动化应用程序的部署.扩展和管理.自 2013 年推出以来,Docker 迅 ...