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

发布于:2024-04-25 ⋅ 阅读:(31) ⋅ 点赞:(0)

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


网站公告

今日签到

点亮在社区的每一天
去签到