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