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


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

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

    饼图

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

    1. $.getJSON("data/咖啡店各年订单.json", "", function (data) {
    2. // 基于准备好的dom,初始化ECharts图表
    3. var myChart1 = echarts.init(document.getElementById("main1"));
    4. var option1 = { // 指定第1个图表option1的配置项和数据
    5. color: ['#46eda9', '#47e4ed', '#4bbbee', '#4f8fa8','#4586d8', '#4f68d8',],
    6. backgroundColor: '#d6ecf0', // 配置背景色,rgba设置透明度0.1
    7. title: {
    8. text: '咖啡店各年订单量占比情况',
    9. color:'#f3f9f1',
    10. x: 'center',
    11. y: 12,
    12. },
    13. tooltip: {
    14. trigger: "item",
    15. formatter: "{a}
      {b}:{c}({d}%)"
    16. },
    17. legend: {
    18. orient: 'vertical',
    19. x: 15,
    20. y: 15,
    21. data: data.product
    22. },
    23. series: [{ // 配置第1个图表的数据系列
    24. name: '总订单量:',
    25. type: 'pie',
    26. radius: '70%',
    27. center: ['50%', 190],
    28. data: data.data
    29. }]
    30. };
    31. myChart1.setOption(option1); // 使用指定的配置项和数据显示饼图

    折线图

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

    1. // 基于准备好的dom,初始化ECharts图表
    2. var myChart2 = echarts.init(document.getElementById("main2"));
    3. var option2 = { // 指定第2个图表的配置项和数据
    4. color: ['#4f8fa8','#4586d8', '#4f68d8', '#F4E001', '#F0805A', '#26C0C0'],
    5. backgroundColor: '#e3f9fd', //配置背景色,rgba设置透明度0.1
    6. tooltip: {
    7. trigger: 'axis',
    8. axisPointer: {
    9. type: 'shadow'
    10. }
    11. }, //配置提示框组件
    12. toolbox: { // 配置第2个图表的工具箱组件
    13. show: true,
    14. orient: 'vertical',
    15. left: 550,
    16. top: 'center',
    17. feature: {
    18. mark: {
    19. show: true
    20. },
    21. restore: {
    22. show: true
    23. },
    24. saveAsImage: {
    25. show: true
    26. },
    27. magicType: {
    28. show: true,
    29. type: ['line', 'bar', 'stack', 'tiled']
    30. }
    31. }
    32. },
    33. xAxis: [{
    34. type: 'category',
    35. data: data.product
    36. }], // 配置第2个图表的x轴坐标系
    37. yAxis: [{
    38. type: 'value',
    39. splitArea: {
    40. show: true
    41. }
    42. }], // 配置第2个图表的y轴坐标系
    43. series: [ // 配置第2个图表的数据系列
    44. {
    45. name: data.names1,
    46. type: 'line',
    47. data: data.values1,
    48. },
    49. {
    50. name: data.names2,
    51. type: 'line',
    52. data: data.values2,
    53. },
    54. {
    55. name: data.names3,
    56. type: 'line',
    57. data: data.values3,
    58. },
    59. {
    60. name: data.names4,
    61. type: 'line',
    62. data: data.values4,
    63. }
    64. ]
    65. };
    66. myChart2.setOption(option2);

    $.getJSON 方法

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

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

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

    1. //饼图配置项
    2. var option1 = {}
    3. //折线图配置项
    4. var option2 = {}

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

    多表联动功能

    方法一:

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

    方法二

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

     完整代码:

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <script type="text/javascript" src='js/echarts.js'></script>
    6. <script type="text/javascript" src='js/jquery-3.3.1.js'></script>
    7. </head>
    8. <body>
    9. <div id="main1" style="width: 600px; height:400px"></div>
    10. <div id="main2" style="width: 600px; height:400px"></div>
    11. <script type="text/javascript">
    12. $.getJSON("data/咖啡店各年订单.json", "", function (data) {
    13. // 基于准备好的dom,初始化ECharts图表
    14. var myChart1 = echarts.init(document.getElementById("main1"));
    15. var option1 = { // 指定第1个图表option1的配置项和数据
    16. color: ['#46eda9', '#47e4ed', '#4bbbee', '#4f8fa8','#4586d8', '#4f68d8',],
    17. backgroundColor: '#d6ecf0', // 配置背景色,rgba设置透明度0.1
    18. title: {
    19. text: '咖啡店各年订单量占比情况',
    20. color:'#f3f9f1',
    21. x: 'center',
    22. y: 12,
    23. },
    24. tooltip: {
    25. trigger: "item",
    26. formatter: "{a}
      {b}:{c}({d}%)"
    27. },
    28. legend: {
    29. orient: 'vertical',
    30. x: 15,
    31. y: 15,
    32. data: data.product
    33. },
    34. series: [{ // 配置第1个图表的数据系列
    35. name: '总订单量:',
    36. type: 'pie',
    37. radius: '70%',
    38. center: ['50%', 190],
    39. data: data.data
    40. }]
    41. };
    42. myChart1.setOption(option1); // 使用指定的配置项和数据显示饼图
    43. // 基于准备好的dom,初始化ECharts图表
    44. var myChart2 = echarts.init(document.getElementById("main2"));
    45. var option2 = { // 指定第2个图表的配置项和数据
    46. color: ['#4f8fa8','#4586d8', '#4f68d8', '#F4E001', '#F0805A', '#26C0C0'],
    47. backgroundColor: '#e3f9fd', //配置背景色,rgba设置透明度0.1
    48. tooltip: {
    49. trigger: 'axis',
    50. axisPointer: {
    51. type: 'shadow'
    52. }
    53. }, //配置提示框组件
    54. toolbox: { // 配置第2个图表的工具箱组件
    55. show: true,
    56. orient: 'vertical',
    57. left: 550,
    58. top: 'center',
    59. feature: {
    60. mark: {
    61. show: true
    62. },
    63. restore: {
    64. show: true
    65. },
    66. saveAsImage: {
    67. show: true
    68. },
    69. magicType: {
    70. show: true,
    71. type: ['line', 'bar', 'stack', 'tiled']
    72. }
    73. }
    74. },
    75. xAxis: [{
    76. type: 'category',
    77. data: data.product
    78. }], // 配置第2个图表的x轴坐标系
    79. yAxis: [{
    80. type: 'value',
    81. splitArea: {
    82. show: true
    83. }
    84. }], // 配置第2个图表的y轴坐标系
    85. series: [ // 配置第2个图表的数据系列
    86. {
    87. name: data.names1,
    88. type: 'line',
    89. data: data.values1,
    90. },
    91. {
    92. name: data.names2,
    93. type: 'line',
    94. data: data.values2,
    95. },
    96. {
    97. name: data.names3,
    98. type: 'line',
    99. data: data.values3,
    100. },
    101. {
    102. name: data.names4,
    103. type: 'line',
    104. data: data.values4,
    105. }
    106. ]
    107. };
    108. myChart2.setOption(option2); // 使用指定的配置项和数据显示堆叠柱状图
    109. // 多图表联动配置方法1:分别设置每个echarts对象的group
    110. myChart1.group = 'group1';
    111. myChart2.group = 'group1';
    112. echarts.connect('group1');
    113. // 多图表联动配置方法2:直接传入需要联动的echarts对象myChart1,myChart2
    114. //echarts.connect([myChart1, myChart2]);
    115. })
    116. </script>
    117. </body>
    118. </html>

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

  • 相关阅读:
    输入输出、文件读写、数据类型
    YOLOv5和YOLOv7环境(GPU)搭建测试成功
    Java21的新特性
    军事ar虚拟现实电子沙盘系统的功能
    go get 拉取报错The project you were looking for could not be found的解决方法
    华为OD机试真题 Java 实现【最优资源分配】【2023Q1 200分】
    【第八篇】- Maven 构建 Java 项目
    vue路由之路由的两种模式
    聚焦离子束FIB测试的计量技术规范盘点
    进程地址空间初识
  • 原文地址:https://blog.csdn.net/zhangfafa_c/article/details/137881468