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

Plotly节点点击时修改标记半径失效问题求助

Plotly节点点击时修改标记半径失效问题求助

嘿,我瞅了你的代码,马上发现问题出在哪了!你在Plotly.restyle里判断节点是否被选中的条件写错啦😯

你原来写的是:

size: nodes.map((_, i) => i === selection ? 12 : 6),

这里的selection是一个存储选中节点索引的对象(比如{0: ..., 2: ...}),而i是节点的数字索引,拿数字和整个对象做全等判断,结果永远是false,所以所有节点的大小都被设成了6。

只要把判断条件改成i in selection,就能正确识别哪些节点在选中集合里了,修正后的代码片段如下:

setTimeout(() => {
  Plotly.restyle('myDiv', {
    marker: {
      size: nodes.map((_, i) => i in selection ? 12 : 6),
      color: nodes.map((_, i) => i in selection ? 'blue' : 'red')
    }
  });
}, 150);

这个修改的逻辑很简单:i in selection会检查当前节点的索引i是不是选中对象里的键,是的话就把大小设为12,否则保持6。这样点击单个节点时,它的标记会变大;按住Shift点击还能多选/取消选中,对应的节点大小都会正确变化啦。

备注:内容来源于stack exchange,提问作者Natasha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 12:37:43