ECharts 图表示例集
复制适合文档页面的声明式 ECharts 实用模式。
本页示例只使用结构化 YAML,不需要回调代码,因此处于最简单的 ECharts 创作与审查边界内。所有数字均为演示数据。
复用数据集
ECharts dataset
把记录与视觉编码分开。序列可以按名称引用维度,比重复维护多组平行数组更容易审查。
从数据集创建柱状图
{{< echarts height="320px" >}}
dataset:
source:
- [stage, minutes]
- [草稿, 18]
- [评审, 11]
- [发布, 4]
xAxis: { type: category }
yAxis: { type: value, name: 分钟 }
series:
- type: bar
encode: { x: stage, y: minutes }
{{< /echarts >}}示例表示中位耗时从撰写草稿的 18 分钟,逐步下降到发布阶段的 4 分钟。
折线与面积对比
多个序列描述同一组时间区间时,可以共用分类轴。面积填充突出总量,折线则保留各序列的趋势。
{{< echarts height="340px" >}}
tooltip: { trigger: axis }
legend: { data: [英文, 中文] }
xAxis:
type: category
data: [周一, 周二, 周三, 周四, 周五]
yAxis: { type: value, name: 页面 }
series:
- name: 英文
type: line
smooth: true
areaStyle: { opacity: 0.12 }
data: [5, 8, 7, 11, 13]
- name: 中文
type: line
smooth: true
areaStyle: { opacity: 0.12 }
data: [4, 6, 8, 9, 13]
{{< /echarts >}}两种语言的评审队列都在周五达到 13 页;中文队列起点少一页,随后逐步追平。
环形占比图
环形图适合类别较少的部分与整体对比。请限制类别数量、直接显示标签,并在正文中给出总数。
{{< echarts height="340px" >}}
tooltip: { trigger: item }
legend: { bottom: 0 }
series:
- name: 文档页面
type: pie
radius: [42%, 68%]
avoidLabelOverlap: true
label: { formatter: "{b}: {c}" }
data:
- { name: 指南, value: 28 }
- { name: 参考, value: 17 }
- { name: 教程, value: 11 }
- { name: 概念, value: 8 }
{{< /echarts >}}这组 64 页文档包含 28 页指南、17 页参考、11 页教程与 8 页概念说明。
使用视觉编码的散点图
visualMap 无需回调即可编码第三个维度。下面把构建规模同时映射为点的大小与颜色。
{{< echarts height="360px" >}}
tooltip: { trigger: item }
xAxis: { type: value, name: 构建秒数 }
yAxis: { type: value, name: 页面数 }
visualMap:
- type: continuous
dimension: 2
min: 10
max: 50
inRange: { symbolSize: [10, 32], color: ["#60a5fa", "#f97316"] }
right: 0
top: middle
series:
- type: scatter
encode: { x: 0, y: 1, tooltip: [0, 1, 2] }
data:
- [1.8, 24, 12]
- [2.6, 41, 22]
- [3.9, 67, 35]
- [5.1, 92, 48]
{{< /echarts >}}在这组演示数据中,页面较多的站点构建时间也更长。点的大小和颜色同时编码第三个数值,因此颜色不是唯一线索。
生产环境说明
数据量较小且属于编辑内容时,可以把示例数据放在图表旁边。对于大型或生成的数据集,应在站点内容流水线中生成选项,并审查最终页面源码。Oink不会自动从远程端点获取图表数据;增加网络请求属于站点主动选择的集成,也会改变本地优先与隐私边界。