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 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两…

C++设计模式创建型之单例模式

一、概述 单例模式也称单态模式,是一种创建型模式,用于创建只能产生一个对象实例的类。例如,项目中只存在一个声音管理系统、一个配置系统、一个文件管理系统、一个日志系统等,甚至如果吧整个Windows操作系统看成一个项目&#xf…

LNMP单节点部署

LNMP:是目前一套成熟的企业网站的应用模式,指的是一套协同工作的系统和相关软件。能够提供静态页面服务,也可以提供动态web服务。 L:linux系统 N:nginx网站服务,前端,提供前端静态页面,同时具有…

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 …

Linux搭建pikachu靶场(以centos为例)

Linux搭建pikachu靶场 Pikachu是一个使用PHP语言编写的Web漏洞测试靶场。下面是在CentOS 7上安装Pikachu靶场的步骤: 安装LAMP (Linux, Apache, MySQL, PHP) 堆栈: 首先,需要在CentOS 7服务器上安装LAMP堆栈。 安装Apache: yum i…

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

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

HTTPS-RSA握手

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

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

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

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

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

Socks5代理:网络安全与爬虫之利器

一、Socks5代理:简介与工作原理 Socks5代理,全称为Socket Secure 5代理,是一种允许用户通过代理服务器进行网络连接的技术。它是Socks协议的最新版本,在网络安全和数据传输方面有着显著的优势。 Socks5代理与其他代理的不同之处在…

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…

深度剖析亚马逊、Newegg卖家如何有效补救差评问题!

差评对于亚马逊卖家来说是一项重要的问题,因为它可能会影响到客户的购买率和店铺声誉。针对这个问题,我提供以下一些建议和方法,如何帮助卖家有效地应对差评问题并进行补救呢? 一:对于不符合亚马逊评价政策的差评&…

Webpack5 cacheGroups

文章目录 一、 cacheGroups是什么,有什么用?二、怎么使用cacheGroups?三、cacheGroups实际应用之一 一、 cacheGroups是什么,有什么用? 在Webpack 5中,cacheGroups是用于配置代码拆分的规则,它…

使用pg_prewarm缓存PostgreSQL数据库表

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