1
異なるデータを示す複数のグラフがあります。ただし、それらはすべて同じオブジェクトタイプe.ge [acc1、acc2、acc3]です。したがって、ある親の凡例をどこかのページに設定してクリックすると、すべてのグラフからすべての対応するデータセットが表示/非表示になるかどうかは疑問でした。ChartJS、複数のグラフの凡例をマージする
異なるデータを示す複数のグラフがあります。ただし、それらはすべて同じオブジェクトタイプe.ge [acc1、acc2、acc3]です。したがって、ある親の凡例をどこかのページに設定してクリックすると、すべてのグラフからすべての対応するデータセットが表示/非表示になるかどうかは疑問でした。ChartJS、複数のグラフの凡例をマージする
私はあなたが1つを除いてすべての凡例を隠すことができ、その凡例のクリックを処理し、各グラフのすべての対応するデータセットを非表示にするカスタム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