当前位置: 首页 > news >正文

ECharts技巧:如何按数据批次为柱状图设置不同颜色✔️♨️

在数据可视化项目中,我们经常需要将大量数据分组展示,并为不同批次的数据设置不同的颜色以便区分。ECharts中实现按数据批次设置柱状图颜色的方法,适用于从接口获取动态数据的场景!✔️♨️

image

方法一:基于数据索引的批次颜色设置

实现步骤

1,准备数据
// 模拟从接口获取的数据
const apiData = [120, 200, 150, 80, 70, 110, 130, 90, 60, 100, 85, 95, 120, 110, 105];
const categories = ['数据1', '数据2', '数据3', '数据4', '数据5', '数据6', '数据7', '数据8', '数据9', '数据10', '数据11', '数据12', '数据13', '数据14', '数据15'];
2,配置ECharts选项
const option = {xAxis: {type: 'category',data: categories},yAxis: {type: 'value'},series: [{data: apiData,type: 'bar',itemStyle: {color: function(params) {// 定义每组5个数据的颜色const batchColors = ['#c23531', // 第1批颜色'#2f4554', // 第2批颜色'#61a0a8', // 第3批颜色'#d48265'  // 第4批颜色];// 计算当前数据属于哪一批(每5个一批)const batchIndex = Math.floor(params.dataIndex / 5);// 返回对应的颜色return batchColors[batchIndex % batchColors.length];}}}]
};
3,初始化图表
const myChart = echarts.init(document.getElementById('main'));
myChart.setOption(option);

适用场景

  • 数据量固定且需要均匀分组

  • 后端返回的是简单数组数据

  • 需要根据数据位置自动分组

image

方法二,基于数值范围的自动分组

1,配置visualMap组件
const option = {// ...其他基础配置visualMap: {type: 'piecewise',pieces: [{min: 0, max: 100, color: '#c23531'},    // 第一批颜色{min: 101, max: 150, color: '#2f4554'}, // 第二批颜色{min: 151, max: 200, color: '#61a0a8'}  // 第三批颜色],seriesIndex: 0},series: [{// ...系列配置}]
};

方法三:最基本的自定义颜色

3.1  使用series.itemStyle.color
option = {xAxis: {type: 'category',data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {type: 'value'},series: [{data: [120, 200, 150, 80, 70, 110, 130],type: 'bar',itemStyle: {color: function(params) {// 自定义颜色数组var colorList = ['#c23531','#2f4554','#61a0a8','#d48265','#91c7ae','#749f83','#ca8622'];return colorList[params.dataIndex];}}}]
};
3.2 使用visualMap组件根据数值自动分配颜色
option = {visualMap: {min: 0,max: 200,inRange: {color: ['#50a3ba', '#eac736', '#d94e5d']}},series: [{// ...其他配置}]
};

image

 

http://www.aitangshan.cn/news/86.html

相关文章:

  • 找到一个数的最低二进制位(lowbit)
  • 数字转人民币大写的函数
  • DP 优化专题
  • Git 常用命令总结
  • 解决 计算机有两个python环境导致 Pygal 模块导入错误
  • 详解:GPT-5 API如何在国内无限制使用?OpenAI最新发布的这款模型到底有何过人之处?
  • Linux Makefile
  • 【高等数学】第八章 向量代数与空间解析几何——第三节 平面及其方程 - 指南
  • 字符串的最大公因子
  • YACS2025年6月乙组
  • chrony时间同步服务详解
  • SAP工厂erp管理系统软件-适合生产型企业的erp系统推荐
  • 我去,Gitee官方推荐的开源项目,这程序我是不能干了,这功能真是逆天了
  • ArcGISProject工程文档的使用学习笔记
  • 8.4 ~ 8.10
  • MeshCN 太阳能 Mesh 网络:SX1262 芯片赋能,无网无电也能畅联
  • 中电金信 :从通用狂飙到穿透场景,行业智能化落地没有捷径
  • wls ssh 连接异常 Missing privilege separation directory: /run/sshd
  • Prometheus源码专题【左扬精讲】—— 监控系统 Prometheus 3.4.0 源码解析:scrape manager 与 scrapeLoop
  • 洛谷P13030 [GCJ 2021 #1B] Subtransmutation
  • idempiere安装
  • 如何安装 Git (windows/mac/linux)
  • 拆解Agent如何实现“听懂→规划→搞定”全流程
  • ActiveMQ 设置用户名密码
  • MySQL 8.0.42 手动部署全过程(CentOS 7 虚拟机 Linux)
  • PDF处理控件Aspose.PDF教程:在C#、Java、Python中快速缩小PDF
  • 自动化测试框架选型指南:5大主流工具实战对比
  • Re:从零开始的动态凸壳
  • 资产管理系统 - microsoft
  • G1 垃圾回收器调优