ECharts 配置语法

ECharts 配置语法详解

Apache ECharts 的配置项(option)是图表的核心,使用纯 JSON 对象格式(JavaScript 对象字面量)。它采用声明式语法:你只需描述“图表应该长什么样”,ECharts 会自动渲染。

当前官方文档主要基于 ECharts 5.x 和 6.x(最新特性支持到 v6.0.0+),配置语法在 5.x 后相对稳定。

1. option 基本结构

一个典型的 option 对象结构如下:

var option = {
    // 全局配置
    backgroundColor: '#fff',  // 背景色
    color: ['#5470c6', '#91cc75', '#fac858', ...],  // 全局调色盘(系列自动取色)

    // 组件配置(可多个)
    title: { ... },       // 标题
    legend: { ... },      // 图例
    tooltip: { ... },     // 提示框
    toolbox: { ... },     // 工具箱
    grid: { ... },        // 直角坐标系网格
    xAxis: { ... },       // X 轴
    yAxis: { ... },       // Y 轴
    visualMap: { ... },   // 视觉映射
    dataZoom: { ... },    // 数据缩放

    // 数据系列(核心,必填,至少一个)
    series: [
        {
            type: 'bar',      // 图表类型
            name: '系列1',
            data: [10, 20, 30],
            itemStyle: { ... },  // 图形样式
            label: { ... },      // 数据标签
            emphasis: { ... }    // 高亮样式(悬停时)
        },
        // ... 更多系列
    ],

    // 其他高级配置
    media: [ ... ],       // 响应式配置
    animation: true       // 动画开关
};
2. 配置规则与语法要点
  • 层级嵌套:配置项采用树状结构,子属性独立配置。例如 title.textStyle.color 只影响标题文本颜色。
  • 合并与覆盖
    • 同层级重复属性,后者覆盖前者。
    • 对象合并:子属性不会整体覆盖,而是逐个合并(例如修改 textStyle.fontSize 不会影响其他 textStyle 属性)。
    • 系列 > 组件 > 全局 的优先级(局部覆盖全局)。
  • 数组支持多实例:如 title: [{...}, {...}] 可显示多个标题;series 天然支持多个。
  • 函数支持:许多属性支持函数形式,用于动态计算。例如:
    tooltip: {
        formatter: function (params) {
            return '值: ' + params.value;
        }
    }
    
  • 富文本(Rich Text):在文本属性(如 title.textlabel.formatter)中使用 {style|文本} 语法,结合 rich 对象定义复杂样式。
    label: {
        formatter: '{a|富文本}\n{c|值: {c}}',
        rich: {
            a: { color: 'red', fontSize: 16 },
            c: { backgroundColor: '#eee', padding: 5 }
        }
    }
    
  • 响应式配置(media query)
    media: [
        {
            query: { maxWidth: 600 },  // 小屏幕
            option: { grid: { left: 20 }, series: [{ itemStyle: { ... } }] }
        },
        {
            option: { ... }  // 默认大屏幕配置
        }
    ]
    
3. 样式配置语法(常见)

ECharts 样式设置非常灵活,主要通过以下方式:

  • 调色盘:根级 color 数组,或系列级 color
  • 直接样式(推荐扁平写法,ECharts 4+ 不强制用 normal):
    series: [{
        itemStyle: {       // 柱子/点样式
            color: '#5470c6',              // 纯色
            borderColor: '#000',
            borderWidth: 2,
            shadowBlur: 10,
            shadowColor: 'rgba(0,0,0,0.3)'
        },
        lineStyle: { ... },   // 折线样式
        areaStyle: { ... },   // 区域填充
        label: {              // 数据标签
            show: true,
            color: '#fff',
            fontSize: 12
        },
        emphasis: {           // 鼠标悬停高亮
            itemStyle: { opacity: 0.8 },
            label: { show: true }
        }
    }]
    
  • 渐变色/纹理
    color: {
        type: 'linear',
        x: 0, y: 0, x2: 1, y2: 0,
        colorStops: [{ offset: 0, color: 'red' }, { offset: 1, color: 'blue' }]
    }
    
  • 主题与视觉映射:通过 echarts.init(dom, 'dark') 切换主题,或用 visualMap 根据数据映射颜色/大小。
4. 学习建议
  • 官方配置手册(最权威):https://echarts.apache.org/zh/option.html (完整列出所有配置项)
  • 示例 Gallery:https://echarts.apache.org/examples/zh/ (上千个可复制示例,直接查看 option)
  • 速查手册:https://echarts.apache.org/zh/cheat-sheet.html (快速定位组件文档)

掌握配置语法的最佳方式是多看官方示例 + 改代码实践。如果你有特定组件(如 tooltip、series)的配置需求,或者想看某个图表的完整 option 示例,随时告诉我!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值