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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...