热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用ChartJS单击更改点颜色

如何解决《使用ChartJS单击更改点颜色》经验,为你挑选了1个好方法。

目前,当你点击它时,我能够改变单个点的颜色(在折线图上),但它会立即改回以前的颜色,我该如何防止这种情况?

这是我的功能:

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.



1> xnakos..:

以下方法使用:

pointBackgroundColor数据集属性,阵列这将保持点的当前颜色.单击某个点时,关联的数组值将更改为,white并且将更新图表.

onClick图表选项,一个是功能"之称,如果事件的类型是'鼠标松开’或'点击’的." 它是"在图表的上下文中调用并传递事件和一系列活动元素."

更多文档.

长话代码:

var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
  type: 'line',
  data: {
    labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
    datasets: [{
      label: '# of Votes',
      data: [72, 49, 43, 49, 35, 82],
      pointBackgroundColor: ["red", "blue", "yellow", "green", "purple", "orange"]
    }]
  },
  options: {
    onClick: function(evt, activeElements) {
      var elementIndex = activeElements[0]._index;
      this.data.datasets[0].pointBackgroundColor[elementIndex] = 'white';
      this.update();
    }
  }
});


推荐阅读
author-avatar
手机用户2602936797
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有