Chart.js 关闭所有 y 轴并打开/关闭它们

Chart.js turn off all y axis and toggle them on / off

我有:

渲染 canvas 后我不想看到任何东西: canvas 区域没有曲线,也没有 y 轴 - 它确实有效

初始视图:

我需要: 单击标签(数据集 1 等)后,我想同时看到曲线及其相应的 y 轴 - 但我只看到曲线。

回购: https://stackblitz.com/edit/angular-ng2-charts-toggle-axis-visibility-z7elmq

乍一看,你的代码对我来说很好,我希望它能正常工作。然而,经过一些调试后,我发现当数据集隐藏时 chart.getDatasetMeta(i).hiddennull,当数据集可见时 false。因此,beforeLayout 回调函数应按如下方式更改以使其起作用。

chartPlugins = [{
  beforeLayout: chart =>
    chart.data.datasets.forEach((ds, i) => {
      let hidden = chart.getDatasetMeta(i).hidden !== false;
      chart.config.options.scales.yAxes[i].display = !hidden;
    })
}];

请看一下你修改后的StackBlitz