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

问题描述

我所拥有的:

渲染画布后,我什么也不想看到: 画布区域上没有曲线,也没有y轴-它确实有效

初始视图:

enter image description here

我需要什么: 单击标签(Dataset1等)后,我想同时看到曲线及其相应的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