You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ECharts折线图中为指定数据点单独设置颜色?

解决ECharts折线图指定特定数据点颜色的问题

你当前用visualMap按value匹配的方式会命中所有同value的点,要实现按id、x轴分类(observation)或特定坐标点单独设置颜色,推荐用series.itemStyle的回调函数,直接基于dataset中的字段做判断,精准定位目标点。

实现方法

在折线图的series配置中,给itemStyle设置一个回调函数,通过params参数可以获取当前数据点对应的dataset所有字段(id、observation、value),根据判断条件返回对应的颜色即可。

代码示例

option = {
  dataset: {
    dimensions: ['id', 'observation', 'value'],
    source: this.chart.data, // 你的数据源
  },
  xAxis: {
    type: 'category',
    encode: { x: 'observation' } // 关联x轴到observation字段
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      type: 'line',
      encode: { y: 'value' }, // 关联y轴到value字段
      itemStyle: {
        // 回调函数动态设置颜色
        color: function(params) {
          // 条件1:匹配特定id(比如id为'point_001'的点)
          if (params.data.id === 'point_001') {
            return 'pink';
          }
          // 条件2:匹配特定x轴分类(比如observation为'Q3'的点)
          else if (params.data.observation === 'Q3') {
            return 'pink';
          }
          // 条件3:匹配特定坐标(比如value=3且observation='Q2'的点)
          else if (params.data.value === 3 && params.data.observation === 'Q2') {
            return 'pink';
          }
          // 其他点默认颜色
          else {
            return 'green';
          }
        }
      }
    }
  ]
};

说明

  • 回调函数里的params.data会包含当前数据点的所有dataset字段,你可以根据需求组合任意判断条件;
  • 这种方式不需要修改原始数据源,也不会误改同value的其他点,完全精准控制目标点的颜色;
  • 如果需要修改多个特定点,直接在if/else里添加更多判断分支即可。

内容的提问来源于stack exchange,提问作者psych0groov3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 18:43:14