前哨站/第9章 Web 前端可视化(ECharts)
第9章 Web 前端可视化(ECharts)

第9章 Web 前端可视化(ECharts)

ECharts 的核心就一件事:读懂 option。看懂结构,任何图都能自己配出来。

EChartsoption交互

本章学习目标

  • 能在网页中引入 ECharts 并初始化图表
  • 能读懂并修改 option 的五大块配置
  • 能实现柱、折、饼、散点、地图与组合图
  • 能做交互(tooltip、legend、dataZoom)与响应式适配

本章导览

核心内容

9.1

最小可用示例

四个步骤:引库 → 准备容器 → init → setOption。离线环境把 echarts.min.js 放在本地即可。

9.1.1

四步初始化

HTML
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <title>第一张 ECharts 图</title>
  <script src="echarts.min.js"></script>          <!-- 本地引入,离线可用 -->
  <style>#main { width: 800px; height: 420px; }</style>
</head>
<body>
  <div id="main"></div>
  <script>
    const chart = echarts.init(document.getElementById('main'));
    chart.setOption({
      title:   { text: '各省销售额(万元)' },
      tooltip: { trigger: 'axis' },
      xAxis:   { type: 'category', data: ['广东', '江苏', '山东', '浙江'] },
      yAxis:   { type: 'value' },
      series:  [{ name: '销售额', type: 'bar',
                  data: [820, 610, 540, 480],
                  itemStyle: { color: '#4E7CFF' } }]
    });
    window.addEventListener('resize', () => chart.resize());   // 自适应
  </script>
</body>
</html>
9.2

option 的五大块

option 结构速记
配置块控制什么常用项
title标题text / subtext / left
tooltip悬浮提示trigger: axis(轴触发) | item(项触发)
legend图例(多系列)data / top
xAxis / yAxis坐标系type: category | value | time;axisLabel.rotate
series数据与图形type / data / stack / itemStyle
dataZoom缩放(大数据量)type: inside | slider
9.3

常见图形与交互

JAVASCRIPT
// 折线图(多系列 + 平滑)
series: [
  { name: '2024', type: 'line', smooth: true, data: [120, 200, 150, 80] },
  { name: '2025', type: 'line', smooth: true, data: [140, 260, 190, 120] }
]

// 饼图(环形)
series: [{
  type: 'pie', radius: ['45%', '70%'],
  label: { formatter: '{b}\n{d}%' },
  data: [{ value: 1048, name: '线上' }, { value: 735, name: '门店' }]
}]

// 堆叠柱状图
series: [
  { name: 'A', type: 'bar', stack: 'total', data: [120, 132, 101] },
  { name: 'B', type: 'bar', stack: 'total', data: [220, 182, 191] }
]

// 大数据量加缩放
dataZoom: [{ type: 'inside' }, { type: 'slider' }]
官方示例站(echarts.apache.org/examples)是最好的模板库:找到相似图,复制 option,改数据与文字即可——不需要背 API。

本章小结

本章讲 Web 端可视化的落地方式:用四步(引库、容器、init、setOption)跑通最小示例,把 option 拆成 title/tooltip/legend/坐标轴/series 五大块记忆,再通过折线、环形饼、堆叠柱与 dataZoom 覆盖常见交互,并强调"改示例比背 API 快"。

思考与练习 先自己做,再点开答案

01

ECharts 图表不显示,最先检查哪三件事?

查看参考答案

① 容器 div 是否有明确的宽高(没有高度图表不显示);② option 是否真的传给了 setOption;③ echarts.min.js 是否加载成功(控制台看 404 或 echarts is not defined)。

02

要做"2024 与 2025 两条折线对比",option 里怎么组织?

查看参考答案

在 series 里放两个对象,type 都为 line,各自 name 与 data;legend 会自动按 name 生成,tooltip trigger 用 axis 便于同月对比。

03

页面窗口变小,图表没有跟着变,怎么修?

查看参考答案

监听 resize 调用 chart.resize();若容器在弹窗/隐藏标签页里,还需在显示后调用 resize。