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

news2024/9/22 3:48:03

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, 4

option && 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->x2
                              offset: 0,
                              color: colorItem[0]
                          },
                          {
                              offset: 1,
                              color: colorItem[1]
                          }
                      ], false);

 

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

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

相关文章

【论文阅读】基于 NeRF 的 3D 重建的批判性分析

【论文阅读】基于 NeRF 的 3D 重建的批判性分析 Abstract1. Introduction2. The State of the Art2.1. Photogrammetric-Based Methods2.2. NeRF-Based Methods 3. Analysis and Evaluation Methodology3.1. Proposed Methodology3.2. Metrics3.3. Testing Objects 4. Comparis…

HTML5(H5)的前生今世

目录 概述HTML5与其他HTML的区别CSS3与其他CSS版本的区别总结 概述 HTML5是一种用于构建和呈现网页的最新标准。它是HTML(超文本标记语言)的第五个版本,于2014年由万维网联盟(W3C)正式推出。HTML5的前身可以追溯到互联…

[MAUI 项目实战] 手势控制音乐播放器: 动画

吸附动画 还记的上一章节所描述的拖拽物(pan)和坑(pit)吗?“”吸附“”这是一个非常拟物的过程,当拖拽物品接近坑区域的边缘时,物体就会由于重力或是引力作用会滑落,吸附在坑里。 …

MINIO安装(centos7)

步骤1:安装wget 在开始安装MinIO之前,需要安装wget命令行工具。可以使用以下命令在CentOS系统中安装wget: sudo yum install wget 步骤2:下载MinIO wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio 将下…

最新[新手入门教程] JDK8u381的下载安装以及环境变量的配置

JAVA从入门到精通 各位新手们大家好,今天来为大家介绍一下JDK8u381的下载安装以及环境变量的配置 【前言】 1.是不是不知道什么是Java? 官方定义: Java是一门面向对象的高级编程语言,不仅吸收了C语言的各种优点&#x…

硬盘格式化后能恢复数据吗?这4个方法可以帮到你!

“前几天一不小心对硬盘进行了格式化操作,但是我很多重要的文件都保存在里面了呀!硬盘格式化之后还能进行恢复吗?快帮帮我!” 硬盘格式化会将存储在硬盘上的数据全部清除,并将文件系统重置为初始状态。那么&#xff0c…

根据省市区名字发送请求

思路 选择对应的区域其实是按照表格中的省市区的名字进行匹配 读取文件后对应的字典为: {台湾: {},新疆: {},港澳: {中国澳门: [凼仔岛, nan]},西藏: {昌都地区: [卡若区], 那曲地区: [nan]} } 字典解释例如 市区为空,就是选择省下面的全部市和区 区为空…

租赁小程序系统:为您的租赁业务带来便利与效率

租赁小程序开发适合的产品有很多种,下面我将介绍一些常见的产品。   租赁共享单车:共享单车在城市里越来越受欢迎,租赁小程序可以方便用户查找附近的共享单车、预订、支付和解锁等操作。   租房:租赁小程序可以帮助房东发布房…

2023最难就业年

跟大家正式介绍一下我自己。 本人曾在阿里,硅谷工作,百万年薪,大概15的工作经验,八年面试官经验。 前端,后端,产品,测试,运维,PM,架构,运营等岗…

支持北斗三、抗干扰、无高度限制的动态高精度测速北斗定位模块

为室外位置服务提供经纬度信息的GPS模块、北斗定位模块多数受限于速度,在高动态环境下,无法为车载,船载,机载等设备提供精准位置信息。为满足高动态及高速应用场景的位置服务需求,现SKYLAB推出一款支持北斗三&#xff…

时间复杂度接近O(n)的三种排序算法

1.桶排序 桶排序,顾名思义,会用到“桶”,核心思想是将要排序的数据分到几个有 序的桶里,每个桶内的数据再单独进行排序。桶内排完序之后,再把每个桶内的数据按照顺序依次 取出,组成的序列就是有序的了。 …

UnrealEngine - 网络同步入门

1 网络同步机制 UE 提供了强大的网络同步机制: RPC :可以在本地调用,对端执行属性同步:标记一个属性为 UPROPERTY(Replicated) 就可以自动将其修改后的值同步到客户端移动复制:Actor 开启了移动复制后会自动复制位置…

区块链实验室(14) - 编译FISCO-BCOS

FISCO-BCOS是一种区块链平台,与Hyperledger和Ethereum有些不同,详见FISCO BCOS 区块链 编译FISCO BCOS源码的目的是修改或者新增其中功能模块,进行对比实验,验证新想法、新创意的效果。编译的步骤很简单,按技术文档一…

postman----传参格式(json格式、表单格式)

本文主要讲解postman使用post请求方法的2中传参方式:json格式、表单格式 首先了解下,postman进行接口测试,必须条件是: ♥请求地址 ♥请求协议 ♥请求方式 ♥请求头 ♥参数 json格式 先看一下接口文档,根据接口文档&…

算法通关村——如何使用中序和后序来恢复一棵二叉树

通过序列构造二叉树 给出以下三个二叉树遍历的序列: (1) 前序: 1 2 3 4 5 6 8 7 9 10 11 12 13 15 14 (2) 中序: 3 4 8 6 7 5 2 1 10 9 11 15 13 14 12 (3) 后序: 8 7 6 5 4 3 2 10 15 14 13 12 11 9 1 前中序复原二叉树 所需序列 (1) 前序: 1 2 3 4 5 6 8 7 9 10 …

UG\NX二次开发 属性更新的注意事项 UF_ATTR_assign

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 将属性值连接到表达式。如果原始部件中已经存在同名的常量值属性,则会导致属性连接到表达式失败,并且不返回错误值。如果原始部件同名的属性不存在,或者存在同名的连接表达式的属性,则会…

Django之JWT库与SimpleJWT库的使用

Django之JWT库与SimpleJWT库的使用 JWTJWT概述头部(header)载荷(payload)签名(signature) Django使用JWT说明jwt库的使用安装依赖库配置settings.py文件配置urls.py文件创建视图配置权限 SimpleJWT库的使用安装SimpleJWT库配置Django项目配置路由创建用户接口测试身份认证自定义…

小狐狸GPT付费创作系统WEB版源码-登录权限验证逻辑

小狐狸GPT付费创作系统WEB版默认是需要公众号关注登录,一直想改成账号密码登录形式,继续查看接口部分 获取系统设置信息的接口 /web.php/login/system 从header里取x-site作为sitecode,如果取不到默认1 从setting表里查出设置数据&#xff0c…

【动态规划part17】| 647.回文子串、516.最长回文子序列

🎈LeetCode647.回文子串 链接:647.回文子串 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置…

C++初阶函数重载

目录 函数重载函数名修饰规则 函数重载 C语言不允许同名函数 CPP可以&#xff0c;但是要求构成函数重载 函数名相同&#xff0c;参数不同(参数类型、参数个数、参数类型的顺序)&#xff0c;返回值不同不能构成重载 int Add(int left, int right) {cout << "int Ad…