使用Apache ECharts同时绘制多个统计图表

目录

1、介绍

2、相关知识

3、代码

4、效果


🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工智能开发和前端开发。

🦅主页:@逐梦苍穹

🍔所属专栏:前端

📕您的一键三连,是我创作的最大动力🌹

1 、介绍

echarts是一个比较好用的表格展示。通过不同的配置,就可以实现饼图,柱图以及折线图等。

方便数据展示。下面就是在同一个页面,通过配置文件创建四个表格的例子。

2 、相关知识

Apache ECharts:Apache ECharts | 一个数据可视化图表库

3 、代码

html 复制代码
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>ECharts</title>
    <!-- 引入刚刚下载的 ECharts 文件 -->
    <script src="echarts.js"></script>
  </head>
  <body>
    <!-- 为 ECharts 准备一个定义了宽高的 DOM -->
    <div id="main" style="width: 1800px;height:900px;"></div>
    <script type="text/javascript">
      // 基于准备好的dom,初始化echarts实例
      var myChart = echarts.init(document.getElementById('main'));
      // 指定图表的配置项和数据
      var option = {
          title: [  // 指定各个表格的标题
              {text: '销售额', top: '5%', left: '30%'},
              {text: '订单量', top: '5%', left: '75%'},
              {text: '客单价', left: '30%', top: '50%'},
              {text: '动销率', left: '75%', top: '50%',},
          ],
          dataset: { // 指定数据源
              source:
                  [
                      ['type','销售额', '订单量', '客单价', '动销率'],
                  ].concat(
                      [
                          ['2019-01-01',100.0,20,4,30],
                          ['2019-01-02',110.0,21,5,30],
                          ['2019-01-03',120.0,22,6,30],
                          ['2019-01-04',140.0,23,7,30],
                          ['2019-01-05',150.0,24,8,30],
                          ['2019-01-06',160.0,25,9,30],
                      ]
                  )
          },
          grid: [ // 用来调整,各个表格的位置
              {top: '10%', bottom: '55%', width: '40%'},
              {top: '10%', bottom: '55%',left: '55%', width: '40%'},
              {top: '55%', width: '40%'},
              {top: '55%', left: '55%', width: '40%'},
          ],
          tooltip: {},
          legend: {},
          xAxis: [ // 用来配置横坐标的信息,gridIndex是标识针对的那个表格
              {type: 'category', gridIndex: 0, name: '日期', axisTick: {alignWithLabel: true}},
              {type: 'category', gridIndex: 1, name: '日期', axisTick: {alignWithLabel: true}},
              {type: 'category', gridIndex: 2, name: '日期', axisTick: {alignWithLabel: true}},
              {type: 'category', gridIndex: 3, name: '日期', axisTick: {alignWithLabel: true}},
          ],
          yAxis: [
              {type: 'value',gridIndex: 0, name: '金额($)'},
              {type: 'value',gridIndex: 1, name: '数量'},
              {type: 'value',gridIndex: 2, name: '金额($)'},
              {type: 'value',gridIndex: 3, name: '%'},
          ],
          series: [

              // 配置数据关系
              // stack用来做分组标记,同标记的数据,会在同一个表格显示
              // seriesLayoutBy 设置如何从dateset里面获取数据,这里按照列获取
              {type: 'line', stack:'1', xAxisIndex: 0, yAxisIndex: 0, seriesLayoutBy: 'column'},
              {type: 'bar', stack:'2', xAxisIndex: 1, yAxisIndex: 1, seriesLayoutBy: 'column'},
              {type: 'bar', stack:'3', xAxisIndex: 2, yAxisIndex: 2, seriesLayoutBy: 'column'},
              {type: 'line', stack:'4', xAxisIndex: 3, yAxisIndex: 3, seriesLayoutBy: 'column',
              label: {
                show: true,
                position: 'top',
                formatter: function (params) {
                  return params.value[4] + '%';
                },
              },},
          ]
      };

      // 使用刚指定的配置项和数据显示图表。
      myChart.setOption(option);
    </script>
  </body>
</html>

4 、效果

相关推荐
程序员黑豆7 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
To_OC8 小时前
踩了个 TS 的坑之后,我终于把 type 和 interface 掰明白了
前端·react.js·typescript
GreenTea8 小时前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
浮生望8 小时前
前端API工程化:用 Mock 数据与 Axios 配置实现独立于后端的并行开发
前端
万少9 小时前
给 DeepSeek Harness 装个"应用商店":一条命令,595 个插件随你逛
前端·javascript·后端
波波0079 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
Brown.alexis10 小时前
es6知识点1-自备使用
前端·ecmascript·es6
小爬的老粉丝11 小时前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps
计算机魔术师11 小时前
新兴多智能体系统的模式与问题
前端
用户0595401744612 小时前
AI Agent 上下文污染踩坑实录:用 pytest + Redis 揪出 3 类记忆串号 bug,排查 6 小时
前端·css