JS-ECharts-前端图表 多层级联合饼图、柱状堆叠图、柱/线组合图、趋势图、自定义中线、平均线、气泡备注点

本篇博客背景为JavaScript。在ECharts在线编码快速上手,绘制相关前端可视化图表。
ECharts官网:https://echarts.apache.org/zh/index.html

其他的一些推荐:
AntV:https://antv.vision/zh
chartcube:https://chartcube.alipay.com/make

文章目录

  • 1、饼图
    • 1.1 常规饼图
    • 1.2 多层级饼图/双层饼图
  • 2、柱状图
  • 2.1柱状堆叠图
  • 3、趋势图
    • 3.1 凹凸图
    • 3.2 折线图
  • 4、组合图

1、饼图

1.1 常规饼图

饼图,可以显示数据内容的分类及占比。
可自定义分类的备注内容(使用名称+值+百分比)。可自定义分类颜色。

在这里插入图片描述
代码示例如下:

option = {title: {//图表标题填写位置text: '图表标题',//图表副标题填写位置subtext: '副标题',//图表标题位置;center表示居中left: 'center'},tooltip: {trigger: 'item'},legend: {orient: 'vertical',left: 'left'},series: [{type: 'pie',//调整图表在页面相对大小radius: '60%',label: {normal: {show: true,//自定义色块备注,名称+值+百分比formatter: '{b}:{c}' + '个\n\r' + '({d}%)'}},data: [{ value: 8, name: 'A' },{ value: 6, name: 'B' },{ value: 3, name: 'C' },{ value: 2, name: 'D' },{ value: 7, name: 'E' },{ value: 1, name: 'F' },{ value: 1, name: 'G' },{ value: 1, name: 'H' },{ value: 5, name: 'I' },//数量较多会循环使用之前的颜色,所以加上,itemStyle:{color来自定义颜色{ value: 13, name: 'J' ,itemStyle:{color:'#FF7F80'}},{ value: 10, name: 'K' ,itemStyle:{color:'#A52A4A'}}],emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]
};

1.2 多层级饼图/双层饼图

多层级饼图,可展示数据分类及其下钻数据内容分类和关联性。
能够直观从几个层次展示,第一维度横向比较,第二维度横向比较,第二维度基于第一维度的横向比较,第二维度基于第一维度的延伸展示。
可自定义数据内容的分类及相应占比值,也可以自定义第二维度的数据分类及占比。
在这里插入图片描述

代码示例如下:

option = {textStyle: {color: '#999',fontWeight: 'normal',//调整图表中字体大小fontSize: 15},toolbox: {feature: {dataView: { show: true, readOnly: false },magicType: { show: true, type: ['line', 'bar'] },restore: { show: true },saveAsImage: { show: true }}},title: {//图表标题填写位置text: '图表标题',//图表副标题填写位置subtext: '副标题',//图表标题位置;left表示左靠齐left: 'left'},legend: {orient: 'vertical',left: 'left'},series: {itemStyle: {borderColor: '#fff',borderWidth: 3},type: 'sunburst',//调整图表在页面相对大小radius: '99%',//调整图表在页面整体位置center: ['50%', '50%'],//图表数据,一个对象为一个色块data: [{//第1部分的色块名name: '1',//第1部分的的值,对应占比大小value: 2.2,children: [{//第1部分外圈的名称name: '1.2',//第1部分外圈的值,对应其在该色块中占比大小value: 1.2},{name: '1.3',value: 0.2},{name: '1.1',value: 0.8}]}, {name: '2',value:1.8,children: [{name: '2.1',value: 0.9},{name: '2.2',value: 0.1},{name: '2.3',value: 0.8}]},{name: '3',value: 0.3,children: [{name: '3.1',value: 0.075},{name: '3.2',value: 0.15},{name: '3.3',value: 0.075}]},]}};

2、柱状图

2.1柱状堆叠图

柱状图与数据堆叠柱状图,可直观展示数据分类及该批次下数据细致划分及占比。
可自定义堆叠类型,自定义数据分类及占比等。双y轴图。
在这里插入图片描述

代码示例如下:

const Colors = {'United States': '#b22234'
};
option = {title: {//图表标题填写位置text: '图表标题',//图表副标题填写位置subtext: '副标题',//图表标题位置;left表示左靠齐left: 'left'},tooltip: {trigger: 'axis',axisPointer: {type: 'shadow'}},toolbox: {feature: {dataView: { show: true, readOnly: false },magicType: { show: true, type: ['line', 'bar'] },restore: { show: true },saveAsImage: { show: true }}},legend: {},grid: {//整个图表距离页面最左侧的相对距离left: '3%',right: '4%',//整个图表距离页面顶部的相对距离top:'18%',bottom: '3%',containLabel: true},//横坐标xAxis: [{type: 'category',//横坐标名称data: ['A1', 'A2','A3','A4','A5','A6','A7',],axisLabel: {interval: 0,//横坐标倾斜程度rotate: 30}}],//纵坐标,这儿是双纵坐标yAxis: [{type: 'value',//纵坐标名称name: '数量1',},{type: 'value',name: '数量2',//纵坐标最小值//min: 0,//纵坐标最大值//max: 10000,//纵坐标数据间隔//interval: 800,}],series: [{//数据分类名称name: 'B1',type: 'bar',//color: '#76be77',emphasis: {focus: 'series'},label: {//柱状图上展示具体数值show: true},data:[123,34,77,34,43,546,113]},{name: 'C1',type: 'bar',//柱状图数据堆叠效果stack: 'Ad',//color: '#a90000',emphasis: {focus: 'series'},label: {show: true},data:[583,182,203,36,93,709,888]},{name: 'C2',stack: 'Ad',type: 'bar',emphasis: {focus: 'series'},label: {show: true},data:[165,8,12,6,30,112,223]},{name: 'D1',yAxisIndex: 1,type: 'bar',//数据堆叠在不同柱子,根据stack的名称区分stack: 'Ad2',//color: '#a90000',emphasis: {focus: 'series'},label: {show: true},data:[17579,5788,5774,5044,3715,4811,2288]},{name: 'D2',yAxisIndex: 1,stack: 'Ad2',type: 'bar',emphasis: {focus: 'series'},label: {show: true},data:[1533,146,1140,480,809,70,22]},{name: 'D3',yAxisIndex: 1,stack: 'Ad2',type: 'bar',emphasis: {focus: 'series'},label: {show: true},data:[7101,470,502,641,6650,10418,5026]},{name: 'D4',yAxisIndex: 1,stack: 'Ad2',type: 'bar',emphasis: {focus: 'series'},label: {show: true},data:[0,0,0,0,0,0,3923]}]  
};

3、趋势图

3.1 凹凸图

可展示对应数据长期情况,趋势及最大最小值。
可自定义数据分类及备注点内容和坐标点位置等。
在这里插入图片描述

代码示例如下:

option = {title: {//图表标题填写位置text: '图表标题',//图表副标题填写位置subtext: '副标题',},tooltip: {trigger: 'axis'},legend: {data: ['A', 'B', 'C', 'D', 'E','F'],orient: 'vertical',left: 'left',top:'7%',},toolbox: {show: true,feature: {dataZoom: {yAxisIndex: 'none'},dataView: { readOnly: false },magicType: { type: ['line', 'bar','stack'] },restore: {},saveAsImage: {}}},grid: {//整个图表距离页面最左侧的相对距离left: '5%',right: '4%',//整个图表距离页面底部的相对距离bottom: '3%',containLabel: true},//横坐标xAxis: {type: 'category',boundaryGap: false,//横坐标的名称data: ['2022-7-1', '2022-7-2', '2022-7-3', '2022-7-4', '2022-7-5', '2022-7-6', '2022-7-7','2022-7-8','2022-7-9','2022-7-10','2022-7-11','2022-7-12','2022-7-13','2022-7-14','2022-7-15','2022-7-16','2022-7-17','2022-7-18','2022-7-19','2022-7-20','2022-7-21','2022-7-22','2022-7-23','2022-7-24','2022-7-25','2022-7-26','2022-7-27','2022-7-28','2022-7-29','2022-7-30','2022-7-31'],axisLabel: {interval: 0,//横坐标名称倾斜程度rotate: 30}},//纵坐标yAxis: {type: 'value',//纵坐标最小值min: 0,//纵坐标最大值max: 2,},series: [{name: 'A',smooth: true,//增加该曲线的备注点markPoint: {data: [//备注点的名称,展示内容,坐标点{ name: 'markPoint', value: 'A', xAxis: 9, yAxis: 1,symbolSize:150,}],},type: 'line',label: {show: true},//该曲线对应横坐标的具体数值data: [0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0]},{name: 'B',smooth: true,markPoint: {data: [{ name: 'markPoint', value: 'B', xAxis: 9, yAxis: 1,symbolSize:160,}],},type: 'line',label: {show: true},data: [0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},{name: 'C',smooth: true,markPoint: {data: [{ name: 'markPoint', value: 'C', xAxis: 9, yAxis: 1,symbolSize:150,}],},type: 'line',label: {show: true},data: [0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},{name: 'D',smooth: true,markPoint: {data: [{ name: 'markPoint', value: 'D', xAxis: 9, yAxis: 1,symbolSize:150,}],},type: 'line',label: {show: true},data: [0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0]},{name: 'E',smooth: true,type: 'line',label: {show: true},data: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},{name: 'F',smooth: true,markPoint: {data: [{ name: 'markPoint', value: 'F', xAxis: 9, yAxis: 1,symbolSize:150,}],},type: 'line',label: {show: true},data: [1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,1,0,0,0]}]
};

3.2 折线图

折线图,可较好展示数据波动及趋势,可快速看出最值。
可自定义数值及中线平均值。
在这里插入图片描述

代码示例如下:

const Colors = {'United States': '#b22234'
};
option = {title: {//图表标题填写位置text: '图表标题',//图表副标题填写位置subtext: '副标题',//图表标题位置;left表示左靠齐left: 'left'},tooltip: {trigger: 'axis',axisPointer: {type: 'shadow'}},toolbox: {feature: {dataView: { show: true, readOnly: false },magicType: { show: true, type: ['line', 'bar'] },restore: { show: true },saveAsImage: { show: true }}},legend: {},grid: {//整个图表距离页面最左侧的相对距离left: '3%',right: '4%',//整个图表距离页面顶部的相对距离top:'18%',bottom: '3%',containLabel: true},//纵坐标xAxis: [{type: 'category',//纵坐标名称data: ['2022-7-1', '2022-7-2', '2022-7-3', '2022-7-4', '2022-7-5','2022-7-6', '2022-7-7','2022-7-8','2022-7-9','2022-7-10','2022-7-11','2022-7-12','2022-7-13','2022-7-14','2022-7-15','2022-7-16','2022-7-17','2022-7-18','2022-7-19','2022-7-20','2022-7-21','2022-7-22','2022-7-23','2022-7-24','2022-7-25','2022-7-26','2022-7-27','2022-7-28','2022-7-29','2022-7-30'],axisLabel: {interval: 0,rotate: 30}}],//横坐标yAxis: [{type: 'value',//纵坐标名称name: '单位1',},{type: 'value',name: '单位2',//纵坐标最小值//min: 0,//max: 100,//纵坐标间隔interval: 20,}],series: [{name: '数据1',type: 'line',yAxisIndex: 1,markLine: {//平均线data: [{ type: 'average', name: 'Avg' }]},label: {//展示折线点对应的数据show: true,//数据展示位置,right展示在点的右边position: 'right',},data: [99.59, 114.71, 85.92, 58.9, 83.63, 101.49, 86.82, 79.3, 95.04, 234.91, 41.62, 62.23, 113.63, 97.76, 83.83, 164.91, 108.76, 68.58, 90.65, 89.06, 68.08, 66.28, 233.1, 107.23, 60.1, 72.76, 113.96, 89.59, 86.8, 100]},{name: '数据2',type: 'line',yAxisIndex: 1,markLine: {data: [{ type: 'average', name: 'Avg' }]},label: {show: true,position: 'right',},data: [28.0, 15.28, 21.47, 17.38, 142.15, 24.43, 13.14, 32.45, 19.19, 11.81, 5.68, 7.69, 3.67, 16.34, 5.2, 14.82, 28.38, 19.25, 22.4, 11.46, 2.69, 20.27, 34.78, 19.64, 10.72, 22.71, 13.94, 12.23, 10.78, 14.45]}]  
};

4、组合图

4.1 柱状图+折线图
柱状图与折线图的形式,可便捷看出数据总量、分类及其数据趋势走向。
可自定义数据、分类,双y轴、数据备注点等。
在这里插入图片描述

代码示例如下:

option = {title: {//图表标题填写位置text: '图表标题',//图表副标题填写位置subtext: '副标题',//图表标题位置;left表示左靠齐left: 'left'},tooltip: {trigger: 'axis',axisPointer: {type: 'shadow'}},legend: {},grid: {  //整个图表距离页面最左侧的相对距离left: '3%',right: '4%',//整个图表距离页面顶部的相对距离top:'18%',bottom: '3%',containLabel: true},toolbox: {feature: {dataView: { show: true, readOnly: false },magicType: { show: true, type: ['line', 'bar'] },restore: { show: true },saveAsImage: { show: true }}},//横坐标xAxis: [{type: 'category',//横坐标的名称data: ['A', 'B', 'C', 'D', 'E','F','G','H','I','J','K','L',"N","M"],axisLabel: {interval: 0,//横坐标名称倾斜程度rotate: 30}}],
//纵坐标,双纵坐标yAxis: [{type: 'value',//纵坐标名称name: '数量',},{type: 'value',name: '百分比',//纵坐标最小值min: 0,max: 100,//纵坐标间隔interval: 20,axisLabel: {//纵坐标加单位formatter: '{value} %'}}],series: [{name: '数量1',type: 'bar',emphasis: {focus: 'series'},label: {show: true},data: [4,1,1,6,0,8,7,10,1,0,1,2,1,1]},{name: '数量2',type: 'bar',emphasis: {focus: 'series'},label: {show: true},data: [4,1,1,6,0,7,6,10,1,0,1,2,1,1]},{name: '百分比',markPoint: {data: [//备注点的名称,展示内容,坐标点{ name: 'markPoint', value: 'A', xAxis: 6, yAxis: 84,symbolSize:90,itemStyle:{//指定颜色color:'#DC143C'}},{ name: 'markPoint', value: 'B', xAxis: 5, yAxis: 89,symbolSize:100,itemStyle:{color:'#DC143C'},}],},type: 'line',yAxisIndex: 1,tooltip: {valueFormatter: function (value) {return value + ' %';}},color:'#a90000',label: {show: true,position: 'right',},data: [100,100,100,100,100,88,86,100,100,100,100,100,100,100]}]  
};

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

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

相关文章

【力扣1464】数组中两元素的最大乘积

👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析1、排序2、最值模拟 一、题目描述 题目链接:数组中两元素的最大乘积 给你一个整数数…

基于SSM的社区志愿者招募系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

ERR_CONNECTION_REFUSED等非标准的HTTP错误状态码原因分析和解决办法

文章目录 一、DNS Resolution Failed1,DNS服务器故障2,DNS配置错误3,DNS劫持4,域名过期-5,其他网络问题 二、ERR_CONNECTION_REFUSED-"ERR_CONNECTION_REFUSED" 错误可能有多种原因 三、ERR_SSL_PROTOCOL_ER…

组队竞赛(int溢出问题)

目录 一、题目 二、代码 &#xff08;一&#xff09;没有注意int溢出 &#xff08;二&#xff09;正确代码 1. long long sum0 2. #define int long long 3. 使用现成的sort函数 一、题目 二、代码 &#xff08;一&#xff09;没有注意int溢出 #include <iostream&g…

CoreData 在新建或更新托管对象中途发生错误时如何恢复如初?

问题现象 在 CoreData 支持的 App 中,当我们新建或更新托管对象到一半突然出现错误时,应该禁止任何已发生的改变被写入内存或数据库中。不过,有时仍会出现始料未及的“意外”: 从上面的演示可以看到:即使在 Item 对象新建和更新途中出现错误后不执行后续的保存操作,但界…

追光者的梦

追光者的梦 鸿蒙中我茫然于世&#xff0c;你是钻入我心里的那束光 我所有的梦想都是和你热烈的拥抱 没有追到你时&#xff0c;我一直在路上 追到你时&#xff0c;我的人生就被你点燃 ——致所有的追光者 合肥先进光源国家重大科技基础设施项目及配套工程启动会刚开过&…

重新认识架构—不只是软件设计

前言 什么是架构&#xff1f; 通常情况下&#xff0c;人们对架构的认知仅限于在软件工程中的定义&#xff1a;架构主要指软件系统的结构设计&#xff0c;比如常见的SOLID准则、DDD架构。一个良好的软件架构可以帮助团队更有效地进行软件开发&#xff0c;降低维护成本&#xff0…

RestTemplate:简化HTTP请求的强大工具

文章目录 什么是RestTemplateRestTemplate的作用代码示例 RestTemplate与HttpClient 什么是RestTemplate RestTemplate是一个在Java应用程序中发送RESTful HTTP请求的强大工具。本文将介绍RestTemplate的定义、作用以及与HttpClient的对比&#xff0c;以帮助读者更好地理解和使…

建构居住安全生态,鹿客科技2023秋季发布会圆满举办

9月20日&#xff0c;以「Lockin Opening」为主题的2023鹿客秋季发布会在上海隆重举办&#xff0c;面向居住安全领域鹿客带来了最新的高端旗舰智能锁新品、多眸OS1.0、Lockin Care服务以及全联接OPENING计划。此外&#xff0c;现场还邀请了国家机构、合作伙伴、技术专家等业界同…

什么是单点登录?什么又是 OAuth2.0?

对于刚开始接触身份认证的朋友对于单点登录&#xff0c;OAuth2.0&#xff0c;JWT 等等会有诸多疑惑&#xff0c;甚至还会问既然有了 JWT 还拿 单点登录做什么&#xff1f;还拿 OAuth2.0 做什么&#xff1f; 不知做过身份认证的 xdm 看到这里是不是感觉这句话有点迷&#xff1f…

IBMMQ 安装教程(IBM WebSphere MQ 安装教程)- 及 IBMMQ 服务器搭建教程

文章目录 前言一、下载二、安装1. 解压&#xff0c;运行 Setup.exe 文件。2. 启动 IBM WebSphere MQ 安装程序。3. 接受用户协议。4. 选择定制安装。5. 更改安装目录。6. 下一步。7. 下一步。8. 下一步。9. 点击安装。10. 等待安装&#xff0c;完成。11. 准备安装 WebSphere MQ…

以太坊代币标准ERC20、ERC721

两个概念 ERC(Ethereum Request for Comment) 以太坊意见征集稿EIP(Ethereum Improvement Proposals)以太坊改进提案 ERC和EIP用于使得以太坊更加完善&#xff1b;在ERC中提出了很多标准&#xff0c;用的最多的标准就是它的Token标准; 有哪些标准详细见https://eips.ethereum…

学会使用Git 和 GitHub

Git 和 GitHub 都是程序员每天都要用到的东西 —— 前者是目前最先进的 版本控制工具&#xff0c;拥有最多的用户&#xff0c;且管理着地球上最庞大的代码仓库&#xff1b;而后者是全球最大 同性交友 代码托管平台、开源社区。 在没有这两个工具时&#xff0c;编程可能是这样的…

学习记忆——宫殿篇——记忆宫殿——记忆桩——单间+客厅+厨房+厕所+书房+院子

文章目录 单间客厅厨房厕所书房院子 单间 水壶 水龙头 香皂 果汁机 电视 门空间 花 红酒 葡萄 不锈钢 白毛沙发 彩色垫子 吉他 皮椅 挂画 风扇 糖抱枕 盒子 花土 水晶腿 衣柜 笔 三环相框 水壶 壁挂 台灯 被 网球拍 足球 抽屉 闹钟 蝴蝶 心 斑马 三轮车 音响 椅子 碗 玩偶 烟灰…

C/C++运算符超详细讲解(系统性学习day5)

目录 前言 一、运算符的概念与分类 二、算术运算符 三、关系运算符 四、逻辑运算符 五、赋值运算符 六、运算符的优先级 总结 前言 本篇文章是对运算符的具体讲解。 一、运算符的概念与分类 概念&#xff1a; 运算符就是一种告诉编译器执行特定的数学或逻辑操作的符…

用PHP实现极验验证功能

极验验证是一种防机器人的验证机制&#xff0c;可以通过图像识别等方式来判断用户是否为真实用户。在实现极验验证功能时&#xff0c;您需要进行以下步骤&#xff1a; 1 注册极验账号&#xff1a; 首先&#xff0c;您需要在极验官网注册账号并创建一个应用&#xff0c;获取相应…

pom.xml中解决“vulnerable dependency maven:org.yaml:snakeyaml:1.33“警告问题

问题 当我们引入依赖的时候&#xff0c;pom文件会有这样的提示&#xff0c;其大概的意思就是 maven:org.yaml:snakeyaml:1.30"表示通过Maven引入了一个潜在的安全漏洞依赖项"org.yaml:snakeyaml:1.30" 解决办法 其实我们就是要更改这个依赖的版本&#xff0c…

无需申请专线、无需改动网络,ERP/MES管理系统如何远程访问?

深圳市某模具公司作为一家以设计、制作五金模具、五金冲压、机加工件、加工经营为主的五金企业。为了实现更为高效的生产管理流程&#xff0c;引入了面向钣金/五金行业信息化建设的ERP/MES管理系统及方案&#xff0c;并将其部署在了企业总部的内网服务器。 除了总部访问需求外&…

Linux 故障定位手段之保存某个时间段内的top结果

在Linux中对故障原因进行定位时&#xff0c;除了查看对应的软体运行日志、OS运行日之外&#xff0c;还可以查看 top 的资源消耗结果。 参考语句&#xff1a; 以CPU为基准列进行排序记录TOP结果 nohup top -d 1 -b -o %CPU | tee -a /tmp/cpu.txt & 语句含义&#xff1a;每…

【视觉SLAM入门】8. 回环检测,词袋模型,字典,感知,召回,机器学习

"见人细过 掩匿盖覆” 1. 意义2. 做法2.1 词袋模型和字典2.1.2 感知偏差和感知变异2.1.2 词袋2.1.3 字典 2.2 匹配(相似度)计算 3. 提升 前言&#xff1a; 前端提取数据&#xff0c;后端优化数据&#xff0c;但误差会累计&#xff0c;需要回环检测构建全局一致的地图&…