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

如何从scatter series点数据中获取自定义值及动态修改点形状?

问题1:提取散点数据中自定义的value字段

series.add方法默认不会把你传入的自定义字段传递到setCursorResultTableFormatter的回调参数中,你可以通过外部维护映射表的方式实现自定义值的存储和读取,实现步骤如下:

  1. 提前定义映射表存储每个点对应的自定义值,添加数据时同步写入映射:
// 用x值作为key(如果存在x值重复的场景,可以用`${x}-${y}`的组合字符串作为key)
const customValueMap = new Map()

series.add({
  x: 0,
  y: 22,
  color: ColorRGBA(255, 0, 0),
  size: 10,
  rotation: 45,
  value: "custom message",
})
// 同步存入映射表
customValueMap.set(0, "custom message")
  1. 在光标表格格式化回调中从映射表读取对应值即可:
series.setCursorResultTableFormatter((builder, series, xValue, yValue) => {
  const customMsg = customValueMap.get(xValue)
  return builder.addRow(customMsg)
})
问题2:动态修改散点的点形状

可以实现,和动态修改color、size的逻辑一致,你可以修改单个点的形状,也可以批量修改整个系列所有点的形状,示例代码如下:

// 修改单个点的形状
const singlePoint = series.add({...})
singlePoint.setPointStyle(style => style.setShape(PointShape.Triangle))

// 修改整个系列所有点的形状
series.setPointStyle(style => style.setShape(PointShape.Square))

内置可选的点形状包括圆形、三角形、正方形、十字等,部分版本也支持传入自定义SVG路径作为点形状。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:48:02