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

使用 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 库创建美观、实用的可视化图表,为数据分析提供了有力的支持。希望这篇博客能对大家有所帮助,如果有任何问题或建议,欢迎留言交流。

相关推荐
人大博士的交易之路36 分钟前
今日行情明日机会——20250606
大数据·数学建模·数据挖掘·数据分析·涨停回马枪
产品何同学2 小时前
数据分析后台设计指南:实战案例解析与5大设计要点总结
数据挖掘·数据分析·产品经理·墨刀·原型设计·后台管理系统·数据分析后台
Iamccc13_3 小时前
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
人工智能·数据分析·自动化
Leo.yuan3 小时前
数据库同步是什么意思?数据库架构有哪些?
大数据·数据库·oracle·数据分析·数据库架构
lilye664 小时前
精益数据分析(95/126):Socialight的定价转型启示——B2B商业模式的价格策略与利润优化
人工智能·数据挖掘·数据分析
深空数字孪生5 小时前
惊艳呈现:探索数据可视化的艺术与科学
信息可视化
xiaoming-wu7 小时前
数据分析Agent构建
数据分析·大语言模型·agent
数模竞赛Paid answer8 小时前
数学建模-嘉陵江铊污染事件解题全过程文档及程序
数学建模·数据分析
lingzhilab8 小时前
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
stm32·嵌入式硬件·信息可视化
善木科研9 小时前
读文献先读图:GO弦图怎么看?
机器学习·数据分析·r语言