Chart.js - 如何在加载时将折线图数据集设置为禁用

Pau*_*eth 34 chart.js

使用chart.js v2,是否可以将折线图中的数据集标记为在初始加载时被禁用?

在此输入图像描述

文档中没有找到它的选项.

Ror*_*ory 94

是的,ChartJS中有一个"隐藏"标志.例如.

data:
{
        datasets: [
        {
            data: [1,2,3],
            label: 'My First Dataset',
            hidden: true,
        },
        ],
}
Run Code Online (Sandbox Code Playgroud)

在GitHub上看到这个问题:https://github.com/chartjs/Chart.js/issues/689

  • 它是如此“隐藏”,三年后它仍然没有出现在文档中 (50认同)
  • [此评论](https://github.com/chartjs/Chart.js/issues/6069#issuecomment-573438435)表示不应使用“hidden”,而首选“setDatasetVisibility”。但在短期内使用“隐藏”确实为我完成了这项工作,所以谢谢! (2认同)

Thy*_*raz 8

接受的解决方案有一个缺点,即在初始化图表后,隐藏/取消隐藏信号有时可能会失败。

在数据集的当前元数据中更改它可能是一个更好的主意,该元数据保存图表使用的实际数据:

chart.data.datasets.forEach((dataSet, i) => {
  var meta = chart.getDatasetMeta(i);

  meta.hidden = (<your-condition-here>);
});

this.chart.update();
Run Code Online (Sandbox Code Playgroud)