ECharts 简介

核心配置项详解

拆解 ECharts option 配置对象的核心组成:title、tooltip、legend、坐标轴和 series。

🎯 引言

上一篇我们用一个大配置对象画出了柱状图,但里面每个字段是干什么的还说不清。学会这篇文章,你能看懂 option 的整体结构,掌握 title、tooltip、legend、坐标轴、series 这五大核心配置,拿到任何配置文档都不再发懵。


🧱 option 是什么

setOption() 接收的那个大对象就叫 option,它是图表的“设计图纸”:图表长什么样、显示什么数据、有什么交互,全都写在里面。

可以把它想象成一份点菜单:

  • title:这道菜的菜名(标题)
  • legend:配菜清单(图例)
  • xAxis / yAxis:摆盘的横竖格子(坐标轴)
  • series:真正的食材(数据和图表类型)
  • tooltip:服务员的介绍(悬停提示)

🧱 标题与提示框

title 控制图表标题,常用的是主标题和副标题:

title: {
    text: '一周销量',
    subtext: '数据来源:后台统计',
    left: 'center',
},

tooltip 是鼠标悬停时弹出的提示框,加上它图表立马“活”起来:

tooltip: {
    trigger: 'axis',
},

trigger 有两个常用值,区别一定要分清:

  • 'item':鼠标悬停在单个图形上才触发,适合饼图、散点图。
  • 'axis':鼠标悬停在坐标轴刻度上触发,一次显示该位置所有系列的数据,适合折线图、柱状图。

🧱 图例 legend

当图表里有多个系列(比如同时展示“销量”和“利润”),就需要 legend 告诉读者每种颜色代表什么:

legend: {
    data: ['销量', '利润'],
},
legend.data 里的每一项必须和 series 里对应系列的 name完全一致,图例才能正常显示和联动。这是初学者容易忽略的对应关系。

🧱 坐标轴 xAxis 与 yAxis

直角坐标系图表(折线图、柱状图等)离不开两个轴:

xAxis: {
    type: 'category',
    data: ['周一', '周二', '周三', '周四', '周五'],
},
yAxis: {
    type: 'value',
},

type 的两个常用取值:

  • 'category'类目轴,显示离散的分类名称,数据写在 data 里。
  • 'value'数值轴,根据系列数据自动生成刻度,不用写 data
想画横向柱状图?把 xAxis 改成 'value'yAxis 改成 'category' 并对调数据即可,坐标轴的方向决定了柱子的朝向。

🧱 系列 series:数据的核心

series 是一个数组,每一项代表一组数据 + 一种图表类型

series: [
    {
        name: '销量',
        type: 'bar',
        data: [120, 200, 150, 80, 70],
    },
    {
        name: '利润',
        type: 'line',
        data: [20, 50, 30, 10, 15],
    },
],

一份 option 里可以放多个系列,上面这段代码就实现了柱状图和折线图的混合图表


💡 完整示例串一遍

把五大配置组合起来:

chart.setOption({
    title: {
        text: '一周销量与利润',
    },
    tooltip: {
        trigger: 'axis',
    },
    legend: {
        data: ['销量', '利润'],
    },
    xAxis: {
        type: 'category',
        data: ['周一', '周二', '周三', '周四', '周五'],
    },
    yAxis: {
        type: 'value',
    },
    series: [
        {
            name: '销量',
            type: 'bar',
            data: [120, 200, 150, 80, 70],
        },
        {
            name: '利润',
            type: 'line',
            data: [20, 50, 30, 10, 15],
        },
    ],
});

🧾 小节总结

  • option 是图表的“设计图纸”,外观、数据、交互都由它描述。
  • title 管标题,tooltip 管悬停提示,legend 管图例。
  • tooltip.trigger'axis'(折线/柱状)或 'item'(饼图/散点)。
  • legend.data 必须与系列的 name 完全一致才能联动。
  • series 是数组,每项一组数据加一种 type,多系列可实现混合图表。

❓ 知识问答

Q1:为什么图例不显示?

先检查 legend.data 是否和 series 里的 name 完全一致,包括大小写和中文字符。

Q2:tooltip 不加会怎样?

图表照常显示,但鼠标悬停时没有数值提示。实际项目基本都建议加上。

Q3:yAxis 为什么不写 data?

数值轴的刻度是 ECharts 根据系列数据自动计算的,写了反而会限制它。只有类目轴才需要手动给 data

Q4:series 里能放几种不同的 type?

没有数量限制。常见的组合是柱状图加折线图,一个看总量、一个看趋势。


🧪 小练习

补全下面的配置,画出“三门课程的成绩对比图”:

  1. xAxis 显示语文、数学、英语三科。
  2. 系列一是“小明”的成绩(柱状图):80、90、85。
  3. 系列二是“小红”的成绩(柱状图):85、88、92。
  4. 配上标题、图例和 axis 触发的提示框。
chart.setOption({
    // 请在这里编写代码
});

🎉 恭喜你已经能看懂并写出完整的 option 了!下一篇我们逐个学习常用的图表类型,让你的图表库丰富起来。