Java 基于 Apache ECharts 实现:柱状图、折线图、环形图等案例

news2024/11/17 3:41:20

Java 基于 Apache ECharts 实现:柱状图、折线图、环形图等案例

柱状图

效果图

在这里插入图片描述

源代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width,initial-scale=1.0" />
		<title></title>
		<!-- 01 导入js -->
		<!-- <script src="js/echarts.min.js"></script> -->
		<script src="https://cdn.bootcss.com/echarts/4.1.0.rc2/echarts.js" type="text/javascript" charset="utf-8"></script>
		<!-- 03 设置容器的样式 -->
		<style>
			#container{
				width: 800px;
				height: 600px;
			}
		</style>
	</head>
	<body>
		<!-- 02 创建个容器 -->
		<div id="container"></div>
	</body>
	<script>
		//04 实例化echarts
		// 4.1 创建一个实例
		var echart = echarts.init(document.getElementById("container"), 'light');
		// 4.2 定义配置项
		var option = {
			// 图表的标题
			title:{
				text:"统方记录"
			},
			// 图表的提示
			tooltip:{},
			// 图例
			// legend:{data:["统方记录"]},
			// x轴线
			xAxis:{data:["2022-11","2022-12","2023-01","2023-02","2023-03","2023-04"]},
			// y轴线
			yAxis:{},
			// 设置数据
			series:[
				{
					// 数据名称
					name:"统方记录",
					// 类型为柱状图
					type:"bar",
					color:['rgb(58 160 255 / 91%)'],
					// 数据data
					data:["8","10","4","5","9","4"]
				}
			]
		}
		// 4.3 更新配置
		echart.setOption(option);
		// chart图表,set设置 Option选项  data数据 type类型 bar条(柱状条),series系列(数据) Axis轴线 xAxis水平轴线 
		// legend传奇(图例) tooltip 提示 init初始化 document文档 
	</script>
</html>

复用

如果想复用上面的代码,只需要把xAxis和series的data改下就行。

折线图

效果图

在这里插入图片描述

源代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="https://cdn.bootcss.com/echarts/4.1.0.rc2/echarts.js" type="text/javascript" charset="utf-8"></script>
		<style> 
		 #container{
			 width: 500px;
			 height: 260px;
		 }
		</style>
	</head>
	<body>
		<div id="container"></div>
		<script>
			var echart = echarts.init(document.getElementById("container"),'light');
			var option = {
			    legend:{
			        data: ["A级", "B级", "C级"],
			        bottom: 0,
			        textStyle: {
			        	fontSize: 16,
			        	color:'#999'
			        }
			    },
			    // 图表的提示
				tooltip:{
					trigger: 'axis'
				},
			    xAxis: {
			        type: 'category',
			        axisLine: {  // 坐标轴线
			            lineStyle: {
			                color: '#C2C2C2'
			            }
			        },
			        // axisLabel: { // 坐标轴刻度标签
			        //     color: '#999',
			        //     //fontWeight: 'bold',
			        //     // fontSize: 14
			        // },
			        data: ["2020-11-16", "2020-11-17", "2020-11-18", "2020-11-19", "2020-11-20", "2020-11-21", "2020-11-22"]
			    },
			    yAxis: {
			        type: 'value',
			        axisLine: {  // 坐标轴线
			            lineStyle: {
			                color: '#FFFFFF'
			            }
			        },
			        axisLabel: { // 坐标轴刻度标签
			            color: '#999',
			            //fontWeight: 'bold',
			            // fontSize: 14
			        },
			        splitLine: {  // 分隔线
			            lineStyle: {
			                type: 'dotted',
			                color: '#eee',
			                // show: false
			            }
			        },
			    },
			    series: [
			        {
			            data: [33.5,45.6,60.9,96.6,31.6,45.9,33.5],
			            name: "A级",
			            // smooth: true,
			            // color:['rgb(58 160 255 / 91%)'],
			            type: "line"
			        },
			        {
			            data: [13.9,10.8,83.9,88.5,10,81.3,38.5],
			            name: "B级",
			            // smooth: true,
			            // color:['rgb(64 199 104)'],
			            type: "line"
			        },
			        {
			            data: [93.5,45.6,27.9,29.6,21.6,14.9,23.5],
			            name: "C级",
			            // smooth: true,
			            // color:['rgb(250 211 52)'],
			            type: "line"
			        }
			    ]
			}
			echart.setOption(option);
		</script>
	</body>
</html>

复用

如果想复用上面的代码,只需要把xAxis和series改下就行。

横向柱状图

效果图

在这里插入图片描述

源代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="https://cdn.bootcss.com/echarts/4.1.0.rc2/echarts.js" type="text/javascript" charset="utf-8"></script>
		<style> 
		 #container{
			 width: 800px;
			 height: 600px;
		 }
		</style>
	</head>
	<body>
		<div id="container"></div>
		<script>
			var echart = echarts.init(document.getElementById("container"),'light')
			var option = {
				title:{text:"工作动态"},
				// legend:{data:["发布量"]},
				// tooltip提示  trigger触发器 axis轴线触发,item 当前项触发
				tooltip:{trigger:"axis"},
					yAxis:{
						axisLine: {  // 坐标轴线
		                lineStyle: {
		                    color: '#C2C2C2'
		                }
		            },
					data:["2022-10","2022-11","2022-12","2023-01","2023-02","2023-03"]},
				xAxis:{
					axisLine: {  // 坐标轴线
		                lineStyle: {
		                    color: '#FFFFFF'
		                }
		            },
		            axisLabel: { // 坐标轴刻度标签
		                color: '#999',
		                //fontWeight: 'bold',
		                // fontSize: 14
		            },
		            splitLine: {  // 分隔线
		                lineStyle: {
		                    type: 'dotted',
		                    color: '#eee',
		                    // show: false
		                }
		            },
				},
				series:[
					{
						name:"发布量",
						type:"bar",
						color:"#3aa0ff",
						data:[20,40,90,80,60,75],
						stack:true,
						// stack堆叠,label 标签,position位置,inside内部,right右侧,formmater格式
						// \n 代表换行,{a}系列名 "陈康" {b}数值名 "vue"  {c}数值  80
					    label:{show:false,position:"insideRight",formatter:"{a}\n{c}分"}}
				]
			}
			echart.setOption(option);
		</script>
	</body>
</html>

复用

如果想复用上面的代码,只需要把tooltip的data和series的data改下就行。

环形图

效果图

在这里插入图片描述

源代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="https://cdn.bootcss.com/echarts/4.1.0.rc2/echarts.js" type="text/javascript" charset="utf-8"></script>
		<style> 
		 #container{
			 width: 603px;
			 height: 180px;
			 padding-bottom:50px;
		 }
		</style>
	</head>
	<body>
		<div id="container"></div>
		<script>
			var echart = echarts.init(document.getElementById("container"), 'light')
			var option = {
			    // title: { 
			    //     text: '各商品销量占比', 
			    //     subtext: 'A商场情况分析', 
			    //     left: 'center' 
			    // },
			    tooltip: { 
			        trigger: 'item', 
			        // formatter: '{a} <br/>{b} : {c} ({d}%)' 
			        // formatter: '{b}: {c} ({d}%)'
			        formatter: '{b}: ({d}%)'
			    }, 
		        label: {
		            show: true,
		            formatter: '{b}: {d}%'
		        },
			    legend: { 
			    	// type: 'scroll',
			        // orient: 'horizontal', // 水平布局
			        // align: 'left', // 图例组件在容器中水平对齐方式
			        // left: 10, // 图例组件离容器左侧的距离
			        // top: 10, // 图例组件离容器顶部的距离
			        // itemWidth: 14,
			        // itemHeight: 5,
			        // formatter: function (name) {
			        //     // 如果需要,这里可以自定义图例文本的格式
			        //     return name;
			        // },
			        type: 'scroll',
			        align: 'left', // 图例组件在容器中水平对齐方式
			        // left: 10, // 图例组件离容器左侧的距离
			        // top: 160,
			        bottom: 0, // 图例组件离容器顶部的距离
			        // left: 'center',
					// bottom: 'center',
					// selectedMode: false,
					// bottom: -30,
					orient: 'horizontal',
			        data: ["处方点评", 
			        	"抗生素使用情况", 
			        	"医用耗材、试剂", 
			        	"大型医疗设备检查", 
			        	"医疗收费", 
			        	"廉洁行医", 
			        	"统方管理"] 
			    },
			    series: [ 
			        { 
			            // name: '所售商品', 
			            type: 'pie', 
			            radius: ['50%', '70%'], 
			            data: [ 
			                 {
						      "value" : 10,
						      "name" : "处方点评"
						    }, 
						    {
						      "value" : 20,
						      "name" : "抗生素使用情况"
						    }, 
						    {
						      "value" : 30,
						      "name" : "医用耗材、试剂"
						    }, 
						    {
						      "value" : 40,
						      "name" : "大型医疗设备检查"
						    }, 
						    {
						      "value" : 50,
						      "name" : "医疗收费"
						    }, 
						    {
						      "value" : 70,
						      "name" : "廉洁行医"
						    }, 
						    {
						      "value" : 80,
						      "name" : "统方管理"
						    }  
			            ], 
			        } 
			    ] 
			};
			echart.setOption(option);
		</script>
	</body>
</html>

复用

如果想复用上面的代码,只需要把legend的data和series的data改下就行。

参考

https://echarts.apache.org/zh/index.html

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

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

相关文章

0基础转行,网路工程和网络安全哪个更有发展前景?

对于初学者而言&#xff0c;初入IT行业最重要的就是选择一个热门且前景好的职业&#xff0c;而网络工程和网络安全作为IT行业的热门职业必然成为很多人的首选&#xff0c;那么网络工程和网络安全哪个发展前景好?小编带大家详细了解一下。 首先&#xff0c;我们对网络工程和网络…

转行软件测试5年了,给还在犹豫的女生一点建议

首先你选择的方向是对的&#xff0c;软件测试这个岗位对于女生是相当友好的. 然后再说女生&#xff0c;软件行业&#xff0c;开发大部分都是男生&#xff0c;所以对于女生来说&#xff0c;因为天性&#xff0c;所以很多时候在互联网公司还是非常吃香的&#xff0c;加上女生本身…

采购中最常见的5个问题及解决方法

由采购引发的问题可能是代价昂贵的。员工可能会重复下订单&#xff0c;库存可能会损坏&#xff0c;而供应商可能会错过最后期限。为了减少和缓解你的企业今后出现采购问题&#xff0c;本文列出了5个最常见的问题&#xff0c;以及如何避免它们的发生。 误购重复或多余的物品 …

WLAN基本概述及简单组网配置

WLAN概述 WLAN即Wireless LAN(无线局域网),是指通过无线技术构建的无线局域网络。WLAN广义上是指以无线电波、激光、红外线等无线信号来代替有线局域网中的部分或全部传输介质所构成的网络。 家庭WLAN产品: 家庭Wi-Fi路由器:通过把有线网络信号转换成无线信号,供家庭电…

ChatGPT与Web的完美结合:创造一加一大于二的化学反应

怎么介绍Web&#xff1f; Web&#xff0c;全称World Wide Web&#xff0c;是互联网上的一种基于文本传输协议&#xff08;HTTP&#xff09;的网络服务系统&#xff0c;一言以蔽之就是&#xff0c;通过互联网进行全球范围内的信息交流与共享。 更简单易懂的表述就是&#xff0c;…

一文详解!Cypress环境搭建与配置

目录 前言&#xff1a; 基础环境安装 Cypress安装与配置 通过直接下载安装及配置 启动Cypress 前言&#xff1a; Cypress是一个现代化的前端测试框架&#xff0c;具有易用性、可靠性和可调试性等优势&#xff0c;适用于UI自动化测试、端到端&#xff08;E2E&#xff09;测…

JavaScript:从入门到精通:初始JS

JS基本思想 1. 浏览器对 JS 支持2. JS程序的组成3. JS 开发工具 1. 浏览器对 JS 支持 &#x1f9e1;背景 1997年 微软和网景公司合作发布了 ECMAScript 的语言规范 从那时起&#xff0c;微软所有浏览器都支持ECMAScript 标准 1999年&#xff0c;ECMAScript 第三版&#xff0c;…

Python篇——数据结构与算法(第五部分:数据结构)

数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成简单来说&#xff0c;数据结构就是设计数据以何种方式组织并存储在计算机中比如&#xff1a;列表、集合与字典等都是一种数据结构N.Wirth&#xff1a;“程序 数据结构算法” 1、列…

如何识别二叉树的“亲戚”?——探秘判断子树的奥妙

本篇博客会讲解力扣“572. 另一棵树的子树”的解题思路&#xff0c;这是题目链接。先来审题&#xff1a; 本题的思路是&#xff1a;使用递归&#xff0c;把大问题化作小问题。 先来思考&#xff1a;如何判断q是不是p的子树呢&#xff1f; q是p的子树有3种情况&#xff0c;分别…

不断进化!奇点云助豫园股份构建集团统一战略的数据平台

“一张图、一颗心、一场仗&#xff0c;构建集团统一战略的数据平台&#xff0c;豫园股份不断进化。” 日前&#xff0c;2023 StartDT Day 数智科技大会正式举办。企业客户、行业专家、技术专家与数万位参会伙伴相聚云上&#xff0c;共话数据时代进化之道。 作为消费产业的数字…

Spring Cloud - Ribbon 负载均衡原理、负载策略、懒加载

目录 ​编辑 一、Ribbon 负载均衡原理 1.1、前言 1.2、负载均衡的工作流程 二、负载均衡策略 2.1、策略原理 2.2、负载均衡自定义方式 三、Ribbon 加载方式 一、Ribbon 负载均衡原理 1.1、前言 ps&#xff1a;案例是上一章所讲的 “根据订单id查询订单的同时&#xff0…

Matlab机器人运动学与正逆解算法学习笔记

文章目录 ※ 参考资料建立DH模型△ 基本概念和标准DH/改进DH○ 连杆与关节的编号○ 标准DH与改进DH △ DH参数模型建立方法○ 标准DH参数定义及方法简介 连杆坐标系建立方法 标准DH参数含义※ 关于DH参数以哪个轴的指向为准的问题 标准DH坐标系间的齐次变换矩阵 ○ 改进DH参数…

WPS AI内测申请窍门;AI数字人最全工具盘点;AI超级个体必读书籍;产品国际化与本地化指南;生成式AI应用路线图 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 生成式AI应用路线图&#xff1a;多模态AI的应用能力演进 随着生成式AI「对生成内容的可控性」不断提高&#xff0c;其应用场景也在不断…

【算法系列 | 6】深入解析排序算法之——堆排序

序言 你只管努力&#xff0c;其他交给时间&#xff0c;时间会证明一切。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记一级论点蓝色&#xff1a;用来标记二级论点 决定开一个算法专栏&#xff0c;希望能帮助大…

整理 钢琴教材 铃木钢琴教程(铃木)

邮箱不能及时回复,现放到网盘里了,文末按需自取 铃木钢琴教程第1册 文件名:铃木钢琴教程第1册 超清PDF 文件大小:7.05 MB 下载地址:https://download.csdn.net/download/qq_36040764/85051148 铃木钢琴教程第2册 文件名:铃木钢琴教程第2册 超清PDF 文件大小:5.54 …

边缘检测笔记

边缘是什么&#xff1f; 图像的边缘是指图像局部区域中亮度变化明显的部分&#xff0c;边缘位于像素的灰度值产生突变的地方。 边缘的正负之分&#xff1a;由暗到亮为正&#xff0c;由亮变暗为负。 图像的高频信号和低频信号 简单理解为&#xff0c;图像中高频分量&#xff08…

在Windows11平台安装JDK11(双11)

目录 引言一、安装前说明1.系统要求2.多版本安装 二、JDK11安装三、安装成功验证1.验证2.Path环境变量 总结 引言 本文主要是详细讲解在 Windows 11 系统上安装 JDK 11&#xff0c;安装时有一些注意事项需要说明。与 JDK 8 的安装过程有少许不一样。 一、安装前说明 1.系统要…

GPT-4的中国2023高考作文

我选取2023年上海的作文题&#xff08;我比较感兴趣&#xff09;&#xff0c;题目如下&#xff1a; 面对这个题目&#xff0c;不知道各位有什么想法么&#xff1f;如果你去考试&#xff0c;你会怎么写&#xff1f; 来&#xff0c;我们看看AI是怎么写的。 以下是GPT-4的作文&a…

vmware虚拟机网络“桥接模式”与“NAT模式”的联网原理及linux环境下IP配置指引

一、vmware虚拟机网络“桥接模式”与“NAT模式”的区别 选中虚拟机》设置》网络适配器&#xff0c;打开虚拟机设置面板 我们看到网络连接处有多个选项&#xff0c;今天良哥通过试验告诉你“桥接模式”和“NAT模式”的联网原理、区别及两种模式下IP地址配置的详细方法。 桥接模…

spring-data-elasticsearch.4.2.0 jar包冲突导致:StackOverflow

最近要求es做升级改造: 目前版本: 1. springframework 4.3.3-RELEASE 2. spring-data-elasticsearch: 2.0.3 3. elasticsearch: 2.4.0 4. 工具类: ElasticsearchTemplate 升级后ES版本7.10.0 1. springframework 升级到 5.3.10 2. spring-data-elasticsearch 升级到 4.…