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

相关推荐
Leo.yuan10 小时前
数据量大Excel卡顿严重?选对报表工具提高10倍效率
数据库·数据分析·数据可视化·powerbi
羡与11 小时前
echarts-gl 3D柱状图配置
前端·javascript·echarts
CodeCraft Studio13 小时前
【实用教程】使用思维导图增强 JavaScript甘特图项目工作流程的可见性
javascript·信息可视化·甘特图
海边散步的蜗牛15 小时前
学术论文写作丨机器学习与深度学习
人工智能·深度学习·机器学习·chatgpt·数据分析·ai写作
数模竞赛Paid answer17 小时前
2023年MathorCup数学建模A题量子计算机在信用评分卡组合优化中的应用解题全过程文档加程序
数学建模·数据分析·mathorcup
康谋自动驾驶18 小时前
康谋分享 | 确保AD/ADAS系统的安全:避免数据泛滥的关键
数据分析·自动驾驶·汽车
布说在见21 小时前
Python 绘图工具详解:使用 Matplotlib、Seaborn 和 Pyecharts 绘制散点图
信息可视化
NiNg_1_2341 天前
ECharts实现数据可视化入门详解
前端·信息可视化·echarts
lrlianmengba1 天前
推荐一款CFD/CAE可视化分析软件:Tecplot 360 EX
信息可视化
还是大剑师兰特1 天前
D3的竞品有哪些,D3的优势,D3和echarts的对比
前端·javascript·echarts