使用 ECharts 绘制咖啡店各年订单的可视化分析

news2025/1/16 1:45:24

使用 ECharts 绘制咖啡店各年订单的可视化分析

在这篇博客中,我将分享一段使用 ECharts 库创建可视化图表的代码。通过这段代码,我们可以直观地分析咖啡店各年订单的情况。

饼图

这段代码包含了两个 ECharts 图表,一个是饼图,用于展示各年订单量的占比情况;

$.getJSON("data/咖啡店各年订单.json", "", function (data) {

			// 基于准备好的dom,初始化ECharts图表
			var myChart1 = echarts.init(document.getElementById("main1"));
			var option1 = { // 指定第1个图表option1的配置项和数据
				color: ['#46eda9', '#47e4ed', '#4bbbee', '#4f8fa8','#4586d8', '#4f68d8',],
				backgroundColor: '#d6ecf0', // 配置背景色,rgba设置透明度0.1
				title: {
					text: '咖啡店各年订单量占比情况',
					color:'#f3f9f1',
					x: 'center',
					y: 12,
				},
				tooltip: {
					trigger: "item",
					formatter: "{a}<br/>{b}:{c}({d}%)"
				},
				legend: {
					orient: 'vertical',
					x: 15,
					y: 15,
					data: data.product
				},
				series: [{ // 配置第1个图表的数据系列
					name: '总订单量:',
					type: 'pie',
					radius: '70%',
					center: ['50%', 190],
					data: data.data
				}]
			};
			myChart1.setOption(option1); // 使用指定的配置项和数据显示饼图

折线图

另一个是折线图,可以更详细地展示不同年份的订单数据。

// 基于准备好的dom,初始化ECharts图表
			var myChart2 = echarts.init(document.getElementById("main2"));
			var option2 = { // 指定第2个图表的配置项和数据
				color: ['#4f8fa8','#4586d8', '#4f68d8', '#F4E001', '#F0805A', '#26C0C0'],
				backgroundColor: '#e3f9fd', //配置背景色,rgba设置透明度0.1
				tooltip: {
					trigger: 'axis',
					axisPointer: {
						type: 'shadow'
					}
				}, //配置提示框组件
				toolbox: { // 配置第2个图表的工具箱组件
					show: true,
					orient: 'vertical',
					left: 550,
					top: 'center',
					feature: {
						mark: {
							show: true
						},
						restore: {
							show: true
						},
						saveAsImage: {
							show: true
						},
						magicType: {
							show: true,
							type: ['line', 'bar', 'stack', 'tiled']
						}
					}
				},
				xAxis: [{
					type: 'category',
					data: data.product
				}], // 配置第2个图表的x轴坐标系
				yAxis: [{
					type: 'value',
					splitArea: {
						show: true
					}
				}], // 配置第2个图表的y轴坐标系
				series: [ // 配置第2个图表的数据系列
					{
						name: data.names1,
						type: 'line',
						data: data.values1,
					},
					{
						name: data.names2,
						type: 'line',
						data: data.values2,
					},
					{
						name: data.names3,
						type: 'line',
						data: data.values3,
					},
					{
						name: data.names4,
						type: 'line',
						data: data.values4,
					}
				]
			};
			myChart2.setOption(option2);

$.getJSON 方法

代码中,我们通过 $.getJSON 方法获取了数据,并将其应用于图表的配置中。

$.getJSON("data/咖啡店各年订单.json", "", function (data) {}

每个图表都有自己的配置选项,例如颜色、标题、坐标轴等。

//饼图配置项
var option1 = {}
//折线图配置项
var option2 = {}

特别值得一提的是,这里还实现了多图表联动功能。通过设置相同的 group 值或直接传入 ECharts 对象,我们可以在不同图表之间建立关联,当在一个图表中进行操作时,另一个图表也会相应地做出反应。

多表联动功能

方法一:

// 多图表联动配置方法1:分别设置每个echarts对象的group值
			 myChart1.group = 'group1';
			 myChart2.group = 'group1';
			 echarts.connect('group1');

方法二

多图表联动配置方法2:直接传入需要联动的echarts对象myChart1,myChart2
    echarts.connect([myChart1, myChart2]);

 完整代码:

<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<script type="text/javascript" src='js/echarts.js'></script>
	<script type="text/javascript" src='js/jquery-3.3.1.js'></script>
</head>

<body>
	<div id="main1" style="width: 600px; height:400px"></div>
	<div id="main2" style="width: 600px; height:400px"></div>
	<script type="text/javascript">
		$.getJSON("data/咖啡店各年订单.json", "", function (data) {

			// 基于准备好的dom,初始化ECharts图表
			var myChart1 = echarts.init(document.getElementById("main1"));
			var option1 = { // 指定第1个图表option1的配置项和数据
				color: ['#46eda9', '#47e4ed', '#4bbbee', '#4f8fa8','#4586d8', '#4f68d8',],
				backgroundColor: '#d6ecf0', // 配置背景色,rgba设置透明度0.1
				title: {
					text: '咖啡店各年订单量占比情况',
					color:'#f3f9f1',
					x: 'center',
					y: 12,
				},
				tooltip: {
					trigger: "item",
					formatter: "{a}<br/>{b}:{c}({d}%)"
				},
				legend: {
					orient: 'vertical',
					x: 15,
					y: 15,
					data: data.product
				},
				series: [{ // 配置第1个图表的数据系列
					name: '总订单量:',
					type: 'pie',
					radius: '70%',
					center: ['50%', 190],
					data: data.data
				}]
			};
			myChart1.setOption(option1); // 使用指定的配置项和数据显示饼图



			// 基于准备好的dom,初始化ECharts图表
			var myChart2 = echarts.init(document.getElementById("main2"));
			var option2 = { // 指定第2个图表的配置项和数据
				color: ['#4f8fa8','#4586d8', '#4f68d8', '#F4E001', '#F0805A', '#26C0C0'],
				backgroundColor: '#e3f9fd', //配置背景色,rgba设置透明度0.1
				tooltip: {
					trigger: 'axis',
					axisPointer: {
						type: 'shadow'
					}
				}, //配置提示框组件
				toolbox: { // 配置第2个图表的工具箱组件
					show: true,
					orient: 'vertical',
					left: 550,
					top: 'center',
					feature: {
						mark: {
							show: true
						},
						restore: {
							show: true
						},
						saveAsImage: {
							show: true
						},
						magicType: {
							show: true,
							type: ['line', 'bar', 'stack', 'tiled']
						}
					}
				},
				xAxis: [{
					type: 'category',
					data: data.product
				}], // 配置第2个图表的x轴坐标系
				yAxis: [{
					type: 'value',
					splitArea: {
						show: true
					}
				}], // 配置第2个图表的y轴坐标系
				series: [ // 配置第2个图表的数据系列
					{
						name: data.names1,
						type: 'line',
						data: data.values1,
					},
					{
						name: data.names2,
						type: 'line',
						data: data.values2,
					},
					{
						name: data.names3,
						type: 'line',
						data: data.values3,
					},
					{
						name: data.names4,
						type: 'line',
						data: data.values4,
					}
				]
			};
			myChart2.setOption(option2); // 使用指定的配置项和数据显示堆叠柱状图


			// 多图表联动配置方法1:分别设置每个echarts对象的group值
			 myChart1.group = 'group1';
			 myChart2.group = 'group1';
			 echarts.connect('group1');

			// 多图表联动配置方法2:直接传入需要联动的echarts对象myChart1,myChart2
			//echarts.connect([myChart1, myChart2]);
		})
	</script>
</body>

</html>

总的来说,这段代码展示了如何使用 ECharts 库创建美观、实用的可视化图表,为数据分析提供了有力的支持。希望这篇博客能对大家有所帮助,如果有任何问题或建议,欢迎留言交流。

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

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

相关文章

【C++庖丁解牛】C++11---右值引用和移动语义

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1 左值引用和右值引用2 左…

手把手教数据结构与算法:有序线性表设计

问题描述 设计一个有序线性表类&#xff0c;要求完成初始化&#xff0c;插入和遍历功能&#xff0c;使得表内元素实现有序排列&#xff08;从小到大&#xff09;。同时实现合并功能&#xff0c;使得两个线性表能够合并为一个线性表&#xff08;可能存在重复元素&#xff09;。…

Redis中的缓存击穿、缓存穿透、缓存雪崩问题

1.什么是缓存击穿&#xff1f; 客户端恶意访问一个不存在的数据&#xff0c;从而造成穿透缓存&#xff0c;请求直接到达数据库&#xff0c;频繁的发送这一类的请求&#xff0c;直接查询数据库&#xff0c;数据库的压力变大。 1.1如何解决缓存击穿呢&#xff1f; 1&#xff0…

世界读书日,想变自律,听书690本的我最推荐的3本书

前言 今天是世界读书日&#xff0c;如果你曾经买了健身卡没有坚持下来&#xff0c;想减肥却管不住嘴&#xff0c;迈不开腿&#xff0c;想养成好习惯&#xff0c;解决自律问题。作为听书 690 本的我最推荐的3本书。 Top3书籍&#xff1a;《微习惯》《原子习惯》《福格行为模型》…

【笔试强训】day9

1.添加逗号 思路&#xff1a; 没思路 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include<string> #include<algorithm> using namespace std;int main() {string a;cin >> a;string ans;int p 1;for (int i a.si…

通过“命令提示符(cmd)”注销后台帐号用户

通过“命令提示符&#xff08;cmd&#xff09;”注销后台帐号用户 1 2 3 4 分步阅读 电脑上面后台使用的用户较多&#xff08;包括远程连接&#xff09;&#xff0c;电脑的运行负荷将会增加&#xff0c;电脑响应缓慢&#xff0c;甚至会影响到正常的使用&#xff0c…

架构师系列-MYSQL调优(八)- 索引多表优化案例

用户手机认证表 该表约有11万数据,保存的是通过手机认证后的用户数据关联字段: user_id CREATE TABLE mob_autht (id int(11) NOT NULL AUTO_INCREMENT COMMENT 标识,user_id int(11) NOT NULL COMMENT 用户标识,mobile varchar(11) NOT NULL COMMENT 手机号码,seevc_pwd varc…

海康智能相机FTP本地存图流程

背景&#xff1a;近期一个新项目需要使用到智能相机&#xff0c;借助智能相机算法直接输出检测结果并将相机图像进行本地化保存和展示。由于申购目标智能相机未到&#xff0c;暂时使用测试智能相机。 目标智能相机型号&#xff1a;海康智能相机MV-SC3050XC 当前测试相机型号…

【计算机毕业设计】影院管理系统产品功能介绍——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

如何在PostgreSQL中设置自动清理过期数据的策略

文章目录 方法一&#xff1a;使用临时表和定期清理步骤&#xff1a;示例代码&#xff1a;创建临时表&#xff1a;定期清理脚本&#xff08;bash psql&#xff09;&#xff1a; 方法二&#xff1a;使用分区表和定期清理步骤&#xff1a;示例代码&#xff1a;创建分区表&#xf…

ZY1-02D (ZY1E)多光谱数据预处理

卫星介绍 资源一号02D卫星&#xff08;5米光学卫星&#xff09;于2019年9月12日成功发射&#xff0c;卫星搭载的两台相机&#xff0c;可有效获取115公里幅宽的9谱段多光谱数据以及60公里幅宽的166谱段高光谱数据&#xff0c;其中全色谱段分辨率可达2.5米、 多光谱为10米、高光谱…

【图文教程】在PyCharm中导入Conda环境

文章目录 &#xff08;1&#xff09;在Anaconda Prompt中新建一个conda虚拟环境&#xff08;2&#xff09;使用PyCharm打开需要搭建环境的项目&#xff08;3&#xff09;配置环境 &#xff08;1&#xff09;在Anaconda Prompt中新建一个conda虚拟环境 conda create - myenv py…

数据分析专家能力模型

招式&#xff1a;懂商业&#xff08;业务能力&#xff09; 外功更偏重于技能&#xff0c;首先需要懂招式&#xff0c;即懂商业&#xff0c;数据分析最终是为业务服务的&#xff0c;无论是互联网企业准求的用户增长和UJM分解&#xff0c;还是传统企业追求的降本增效和精细化运营…

Linux多进程(一)创建进程与进程控制

一、进程状态 进程一共有五种状态分别为&#xff1a;创建态&#xff0c;就绪态&#xff0c;运行态&#xff0c;阻塞态(挂起态)&#xff0c;退出态(终止态)其中创建态和退出态维持的时间是非常短的&#xff0c;稍纵即逝。主要是就绪态, 运行态, 挂起态三者之间的状态切换。 就绪…

视频不够清晰怎么办?教你几种有效方法

在我们日常生活中&#xff0c;有时候我们会遇到不清晰的视频&#xff0c;这给我们带来了很多不便。那么&#xff0c;怎么将不清晰的视频变清晰呢&#xff1f;本文将为您介绍一些常用的软件工具&#xff0c;帮助您提升视频的清晰度。 方法一&#xff1a;使用AI技术 AI技术可以通…

低视力者出行升级:适配服务助力双手解放与环境感知

作为一名资深记者&#xff0c;我有幸深入了解并记录低视力者在日常出行中所面临的挑战与解决方案。近年来&#xff0c;低视力者辅助设备适配服务提供领域的创新成果&#xff0c;尤其是结合手机应用的辅助设备&#xff0c;正在以人性化、智能化的方式&#xff0c;帮助低视力者实…

Scala 05 —— 函数式编程底层逻辑

Scala 05 —— 函数式编程底层逻辑 该文章来自2023/1/14的清华大学交叉信息学院助理教授——袁洋演讲。 文章目录 Scala 05 —— 函数式编程底层逻辑函数式编程假如...副作用是必须的&#xff1f;函数的定义函数是数据的函数&#xff0c;不是数字的函数如何把业务逻辑做成纯函…

ELK创建仪表盘

创建仪表盘步骤&#xff1a; 一、保存search二、生成饼图三、创建仪表盘 一、保存search 首先保存一段时间内的search&#xff0c;可以添加想要的字段&#xff0c;并保存这个search方便下次直接打开该search&#xff0c;并方便在可视化和仪表盘中使用该search. 二、生成饼图…

基于JAVA高考志愿辅助填报系统

当今社会已经步入了科学技术进步和经济社会快速发展的新时期&#xff0c;国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。传统高考志愿辅助填报采取了人工的管理方法&#xf…