【发布时间】:2017-07-24 09:45:55
【问题描述】:
我正在使用 chart.js 库开发一个 Web 应用程序。当用户单击图例的复选框时,我正在尝试为图表添加自定义过滤器。但是我不知道如何配置 chart.js 来调用我的自定义过滤器。
然后我点击温度的复选框,温度图表被隐藏
当我点击温度的复选框时,Chart.js 调用了他的默认点击函数来过滤图表。
我已经定义了自己的过滤函数:
public newLegendClickHandler(e, legendItem) {
let index = legendItem.datasetIndex;
let ci = this.chart;
[ci.getDatasetMeta(0),
ci.getDatasetMeta(1),
ci.getDatasetMeta(2)].forEach(function (meta) {
meta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;
});
ci.update();
}
当我点击一个复选框时,我想调用这个函数而不是 Chart.js 的默认过滤函数。
我已经阅读了 chart.js 文档“Custom On Click Actions”,但我不明白为什么 Chart.js 团队给出的示例中的 legend 属性为空。
如果您知道如何替换图例项的默认 onclick 功能,我将很高兴知道解决方案:)
提前谢谢你。
【问题讨论】:
标签: filter chart.js legend items