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).hidden
是 null
,当数据集可见时 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。
我有:
渲染 canvas 后我不想看到任何东西: canvas 区域没有曲线,也没有 y 轴 - 它确实有效
初始视图:
我需要: 单击标签(数据集 1 等)后,我想同时看到曲线及其相应的 y 轴 - 但我只看到曲线。
回购: https://stackblitz.com/edit/angular-ng2-charts-toggle-axis-visibility-z7elmq
乍一看,你的代码对我来说很好,我希望它能正常工作。然而,经过一些调试后,我发现当数据集隐藏时 chart.getDatasetMeta(i).hidden
是 null
,当数据集可见时 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。