使用ChartJS更改单击时的点颜色

5jvtdoz2  于 2022-11-07  发布在  Chart.js
关注(0)|答案(2)|浏览(157)

目前我可以更改单个点的颜色(在折线图上),但当您单击它时,它会立即变回以前的颜色,我如何才能防止这种情况?
下面是我的函数:

var options = {
  onClick: function(e){
    var element = this.getElementAtEvent(e);
    if (element.length > 0) {
      element[0]._view.backgroundColor = '#FFF';
      this.update();
    }
}

我在这里发现了同样的问题https://github.com/chartjs/Chart.js/issues/2989,显然这个家伙能够管理它,但我认为代码不再兼容。
我使用的是ChartJS v2.5.0。

dsf9zpds

dsf9zpds1#

以下方法利用:

  • pointBackgroundColor数据集属性,一个将保存点的当前颜色的数组。当单击某个点时,关联的数组值将更改为white,并且图表将更新。
  • onClick图表选项,这是一个“如果事件的类型为'mouseup'或'click',则会呼叫”的函数。它是“在图表的内容中呼叫,并传递事件和作用中元素的数组”。

更多信息,请访问docs
长话代码:
第一个
And a fiddle to play with.

rqenqsqc

rqenqsqc2#

更新V3的接受答案,也通过不使用硬编码的datasetIndex使其更加灵活。
第一个

相关问题