答案 0 :(得分:79)
是的,有一个"隐藏" ChartJS中的标志。 例如
mvn clean verify -Dtest.email="myemail@yahoo.com" -Dtest.password="pass\$word\$"
在GitHub上查看此问题:https://github.com/chartjs/Chart.js/issues/689
答案 1 :(得分:1)
公认的解决方案有一个缺点,就是像这样初始化图表后,隐藏/取消隐藏信号有时可能会失败。
最好在dataSet的当前元数据中进行更改,该元数据保存图表所使用的实际数据:
chart.data.datasets.forEach((dataSet, i) => {
var meta = chart.getDatasetMeta(i);
meta.hidden = (<your-condition-here>);
});
this.chart.update();
答案 2 :(得分:0)
如果您使用的是 angular-chartjs
,则可以在chart-dataset-override
属性中添加数据集的属性:
例如:
HTML:
<div class="container" ng-app="app" ng-controller="ChartCtrl">
<canvas id="bar" class="chart chart-bar" chart-data="data" chart-labels="labels" chart-series="series" chart-dataset-override="datasetOverride">
</canvas>
</div>
Javascript:
Chart.defaults.global.legend.display = true;
angular.module("app", ["chart.js"])
.controller("ChartCtrl", function($scope) {
$scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
$scope.series = ['Series A', 'Series B'];
$scope.data = [
[65, 59, 80, 81, 56, 55, 40],
[28, 48, 40, 19, 86, 27, 90]
];
$scope.datasetOverride = [{}, {
hidden: true,
}];
});