echarts图表渐变色 + 每个柱子不同颜色设置

echarts柱状图,默认所有柱子都是同一个颜色,显示效果差强人意,本文介绍如果修改成为每个柱子添加不同的颜色,以及如何添加渐变色,丰富图表的显示鲜果。先看效果:

每个柱子颜色不同 

 

 每个柱子都有自己的渐变色

1、为柱子设置不同颜色

方法一:series中的data属性设置为对象,value表示值,itemStyle.color可为每个子项设置不同样式,完整代码:

import * as echarts from 'echarts';var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;option = {tooltip: {},legend: {},xAxis: {data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {},series: [{name: 'Sale',type: 'bar',data: [{value: 5,itemStyle: {color: '#FA897B'}},{value: 20,itemStyle: {color: '#D0E6A5'}},{value: 36,itemStyle: {color: '#4675C0'}},{value: 10,itemStyle: {color: '#86E3CE'}},{value: 10,itemStyle: {color: '#64A4D6'}},{value: 20,itemStyle: {color: '#bdc2e8'}},{value: 4,itemStyle: {color: '#FFA876'}}]}]
};//5, 20, 36, 10, 10, 20, 4option && myChart.setOption(option);

 

 

方法二:在series中有itemStyle属性,该属性支持使用回调函数,返回一个颜色字符串,完整代码:

import * as echarts from 'echarts';var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;option = {tooltip: {},legend: {},xAxis: {data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {},series: [{name: 'Sale',type: 'bar',data: [5, 20, 36, 10, 10, 20, 4],itemStyle: {normal: {color: function (params) {let colorList = ['#FA897B','#FFDD94','#D0E6A5','#FFDD94','#4675C0','#B8BFD6','#FFA876'];let colorItem = colorList[params.dataIndex];return colorItem;}}}}]
};option && myChart.setOption(option);

  

2、渐变色设置

还是在series中有itemStyle属性,该属性支持使用回调函数,使用echarts中自带的渐变色对象返回相关对象。完整代码:

import * as echarts from 'echarts';var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;option = {tooltip: {},legend: {},xAxis: {data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {},series: [{name: 'Sale',type: 'bar',data: [5, 20, 36, 10, 10, 20, 4],itemStyle: {normal: {color: function (params) {let colorList = [['#FA897B', '#FFDD94'],['#D0E6A5', '#FFDD94'],['#4675C0', '#B8BFD6'],['#86E3CE', '#CCABD8'],['#64A4D6', '#C782C2'],['#bdc2e8', '#e6dee9'],['#FFA876', '#FF5B00']];let colorItem = colorList[params.dataIndex];return new echarts.graphic.LinearGradient(0,0,0,1, //y->y2[{offset: 0,color: colorItem[0]},{offset: 1,color: colorItem[1]}],false);}}}}]
};option && myChart.setOption(option);

其中LinearGradient中的参数前四个参数分别代表:

  • x : 从左向右 1 ——> 0
  • y:从上向下 1 ——> 0
  • x2:从右向左 1 ——> 0
  • y2:从下向上 1 ——> 0

如果想要左右效果的渐变,那么只需修改x->x2即可

return new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ // x->x2offset: 0,color: colorItem[0]},{offset: 1,color: colorItem[1]}], false);

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/21196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis的缓存穿透、缓存击穿和缓存雪崩

目录 一、解释说明 二、缓存穿透 1. 什么是缓存穿透? 2. 常见的两种解决方案 (1)缓存空对象 (2)布隆过滤 3. 编码解决商品查询的缓存穿透问题 三、缓存雪崩 1. 什么是缓存雪崩? 2. 缓存雪崩解决方…

力扣 416. 分割等和子集

题目来源:https://leetcode.cn/problems/partition-equal-subset-sum/description/ C题解(思路来源代码随想录) : 背包问题有多种背包方式,常见的有:01背包、完全背包、多重背包、分组背包和混合背包等等。…

Prometheus实现系统监控报警邮件

Prometheus实现系统监控报警邮件 简介 Prometheus将数据采集和报警分成了两个模块。报警规则配置在Prometheus Servers上, 然后发送报警信息到AlertManger,然后我们的AlertManager就来管理这些报警信息,聚合报警信息过后通过email、PagerDu…

linux多线程

文章目录 linux多线程1. 相关概念1.1 线程概念详解线程 VS 进程线程的优点线程的缺点线程异常线程用途 1.2 页表详解 2. 线程控制2.0 POSIX线程库深入理解线程库使用C多线程接口在Linux环境创建多线程 深入理解线程id线程局部存储 2.1 线程的创建 - pthread_create线程创建时参…

计算机毕设 深度学习疫情社交安全距离检测算法 - python opencv cnn

文章目录 0 前言1 课题背景2 实现效果3 相关技术3.1 YOLOV43.2 基于 DeepSort 算法的行人跟踪 4 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两…

OC与Swift的相互调用

OC调用Swift方法 1、在 Build Settings 搜索 Packaging ,设置 Defines Module 为 YES 2、新建 LottieBridge.swift 文件,自动生成桥 ProductName-Bridging-Header.h 3、在 LottieBridge.swift 中,定义Swift类继承于OC类,声明 obj…

Postgresql源码(109)并行框架实例与分析

1 PostgreSQL并行参数 系统参数 系统总worker限制:max_worker_processes 默认8 系统总并发限制:max_parallel_workers 默认8 单Query限制:max_parallel_workers_per_gather 默认2 表参数限制:parallel_workers alter table tbl …

什么样的跨网文件安全交换系统 可实现安全便捷的文件摆渡?

进入互联网时代,网络的运算和数据管理能力助力各个行业高速发展,但同样带来了一些网络安全隐患,网络攻击、数据窃取、敏感信息泄露等问题。为此,我国出台了系列政策来全面提升银各行业系统网络安全整体防护水平,其中“…

HTTPS-RSA握手

RSA握手过程 HTTPS采用了公钥加密和对称加密结合的方式进行数据加密和解密 RSA握手是HTTPS连接建立过程中的一个关键步骤,用于确保通信双方的身份验证和生成对称加密所需的密钥 通过RSA握手过程,客户端和服务器可以协商出一个共享的对称密钥,…

如何解决电脑无声问题:排除故障的几种常见方法

大家好,今天我们来讨论一下处理电脑没有声音的故障。当你突然发现电脑静音无声时,需要逐步排除可能的问题,但总体而言,声音故障是相对容易解决的。接下来,我们将介绍一些排除电脑无声问题的方法。 第一步:…

路由器工作原理(第二十九课)

路由器工作原理(第二十九课) 一图胜过千言 1) 路由:数据从一个网络到另外一个网络之间转发数据包的过程称为路由 2) 路由器:连接不同网络,实现不同网段之间的通信 3)路由表:路由器选择数据的传输路径的依据 原始的路由表 Destination/Mask Proto Pre Cost …

prometheus监控k8s kube-proxy target down

prometheus kube-proxy target down 解决 修改配置 kubectl edit cm/kube-proxy -n kube-systemmetricsBindAddress: "0.0.0.0:10249"删除 kube-proxy pod 使之重启应用配置 kubectl delete pod --force `kubectl get pod -n kube-system |grep kube-proxy|awk {pr…

使用pg_prewarm缓存PostgreSQL数据库表

pg_prewarm pg_prewarm 直接利用系统缓存的代码,对操作系统发出异步prefetch请求,在应用中,尤其在OLAP的情况下,对于大表的分析等等是非常耗费查询的时间的,而即使我们使用select table的方式,这张表也并不可能将所有…

InfluxDB2如何求增量数据

需求 项目中需要接入电表设备,求用电量。 按天和设备统计用电量 按天统计用电量 统计总用电量 存在的问题 difference 函数可以求增量,但是以上计算均存在一个问题,比如xx设备有8.1号和8.2号的数据,我统计每天的用电量&#xf…

Consul实战

Consul实战 什么是Consul Consul是一种为分布式系统提供服务发现、配置共享和健康检查的开源工具; 可以用来做微服务架构里的注册中心和配置中心。Consul的特定和功能有: 1.服务发现 consul允许微服务注册自己的实例到Consul, 并查询consul来获取可用的…

Three.js给场景添加背景颜色,背景图,全景图

1.相关API的使用: 1 THREE.Color (用于创建和表示颜色) 2. THREE.TextureLoader(用于加载和处理图片纹理) 3. THREE.SphereGeometry(用于创建一个球体的几何体) 4. THREE.Mesh(用…

MySQL索引特性

目录 一、索引 二、MySQL 与磁盘交互基本单位 三、索引的理解 一、索引 为什么要有索引? 首先我们插入一个8000000条记录的数据,再来查询数据,看看没有索引的情况下,会耗费多长时间。 当执行完这几条命令时,我们会发…

获取全部的地区并生成表格

思路 写文章的时间2023-8-4,大部分网页设置的区域都是先是省,然后通过省获取对应的市,再通过市获取对应的区,以此类推。所以模拟的请求也是按照这个逻辑,先获取所有的省,再获取所有的市,最后获取…

PyTorch 中的累积梯度

https://stackoverflow.com/questions/62067400/understanding-accumulated-gradients-in-pytorch 有一个小的计算图,两次前向梯度累积的结果,可以看到梯度是严格相等的。 代码: import numpy as np import torchclass ExampleLinear(torch…