1

我正在使用 chartjs 来制作一个小项目。我在编辑这些点时遇到了一些困惑和不幸。

这个库中是否有任何函数可以绑定一个onclick事件,它会显示一个弹出窗口并且我可以删除该点?

这是我想要的摘要:

  1. 单击该点并出现一个弹出窗口
  2. 单击删除按钮后,它删除了该点并重新绘制该点。现在我只使用简单的折线图这是我的 jsFiddle

我正在使用chartjs 2.6

4

1 回答 1

4

您可以使用选项中的 onclick 事件来显示弹出窗口。然后您可以检查是否使用getElementsAtEvent单击了某个点,如果是,则将其从选项中删除并更新图表。我已经更新了你的jsfiddle

var option = {
    showLines: true,
    onClick: function(evt) {   
      var element = myLineChart.getElementAtEvent(evt);
      if(element.length > 0)
      {
        var ind = element[0]._index;
        if(confirm('Do you want to remove this point?')){
          data.datasets[0].data.splice(ind, 1);
          data.labels.splice(ind, 1);
          myLineChart.update(data);
        }
      }
    }
};
于 2017-11-16T14:48:09.130 回答