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

使用ECharts dataset格式时如何为每个数据点设置symbol?

在ECharts的dataset模式中为单个数据点设置symbol

ECharts原本支持在series.data中为每个数据点单独定义symbol,但官方现在推荐使用dataset模式。要在dataset模式下实现相同效果,只需两步:

  1. 在dataset.source中新增一列(或字段),专门存储每个数据点的symbol类型
  2. 在series的symbol属性中使用回调函数,从dataset的对应字段中读取symbol值

数组形式的dataset示例

option = {
  dataset: {
    source: [
      ['time', 'value', 'symbol'], // 表头定义,新增symbol列
      ['2023-01-01T15:00:00Z', 10, 'circle'],
      ['2023-01-01T16:00:00Z', 20, 'rect'],
      ['2023-01-01T17:00:00Z', 15, 'triangle']
    ]
  },
  xAxis: {
    type: 'time'
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      symbolSize: 50,
      type: 'line',
      // 回调函数获取当前数据点的symbol值,index对应source中的列位置
      symbol: function(params) {
        return params.data[2];
      }
    }
  ]
};

对象形式的dataset示例

如果dataset使用对象数组的结构,读取方式更直观:

option = {
  dataset: {
    source: [
      { time: '2023-01-01T15:00:00Z', value: 10, symbol: 'circle' },
      { time: '2023-01-01T16:00:00Z', value: 20, symbol: 'rect' },
      { time: '2023-01-01T17:00:00Z', value: 15, symbol: 'triangle' }
    ]
  },
  xAxis: {
    type: 'time'
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      symbolSize: 50,
      type: 'line',
      // 直接通过字段名读取symbol值
      symbol: function(params) {
        return params.data.symbol;
      }
    }
  ]
};

这种方式既符合dataset模式的规范,又能灵活控制每个数据点的符号,适合天气预报等需要自定义数据点样式的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 07:20:36