1
我有多个图表显示不同的数据。但它们都是相同的对象类型e.ge [acc1,acc2,acc3]。因此,我想知道是否可以在某个页面上设置一个父图例,然后单击它将显示/隐藏所有图表中的所有相应数据集?ChartJS,多个图表合并图例
我有多个图表显示不同的数据。但它们都是相同的对象类型e.ge [acc1,acc2,acc3]。因此,我想知道是否可以在某个页面上设置一个父图例,然后单击它将显示/隐藏所有图表中的所有相应数据集?ChartJS,多个图表合并图例
我认为你可以隐藏除一个图表以外的图表的所有图例,并实现一个自定义onClick函数来处理对该图例的点击并隐藏每个图表的所有相应数据集。
目前的onClick实施看起来是这样的:
onClick: function(e, legendItem) {
var index = legendItem.datasetIndex;
var ci = this.chart;
var meta = ci.getDatasetMeta(index);
// See controller.isDatasetVisible comment
meta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;
// We hid a dataset ... rerender the chart
ci.update();
}
此功能需要options.legend.onClick
被定义。要做到这一点,你需要重写上面的函数来实现一个循环,选择所有需要的图表并选择元,隐藏它并更新图表。
这可能会有所帮助[图表 - 多个图表与单个图例控制](https://codepen.io/shivabhusal/pen/XazwVq?editors=1010) – illusionist