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

如何在Chart.js多折线图点击事件中获取数据集Label?

获取Chart.js折线图点击的数据集Label

你已经离目标很近啦!其实只需要借助你代码里已经拿到的_datasetIndex,就能轻松获取到对应数据集的Label(比如Timmy或者Siri)。

修改你现有的点击事件代码就行,具体步骤如下:

  • 在获取label和value之后,通过firstPoint._datasetIndex索引到对应的数据集,取出它的label属性
  • 把这个数据集Label加入到弹窗内容里

修改后的完整点击事件代码如下:

document.getElementById("myChart").onclick = function(evt) {
  var activePoints = myChart.getElementsAtEventForMode(evt, 'point', myChart.options);
  var firstPoint = activePoints[0];
  if (firstPoint) { // 增加判断,避免点击空白区域时报错
    var label = myChart.data.labels[firstPoint._index];
    var datasetLabel = myChart.data.datasets[firstPoint._datasetIndex].label;
    var value = myChart.data.datasets[firstPoint._datasetIndex].data[firstPoint._index];
    alert(`${datasetLabel} - ${label}: ${value}`);
  }
};

现在点击数据点的时候,弹窗就会显示类似Timmy - Red: 12或者Siri - Blue: 38这样的完整内容啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:21:48