Chart.js - Как установить набор данных линейной диаграммы как отключенный при загрузке Используя chart.js v2, можно ли пометить набор данных в линейной диаграмме как отключенный при начальной загрузке? Не удалось найти его в документации. Ответ 1 Да, в ChartJS есть "скрытый" флаг. например. data: { datasets: [ { data: [1,2,3], label: 'My First Dataset', hidden: true, }, ], } См. эту проблему в GitHub: https://github.com/chartjs/Chart.js/issues/689 Ответ 2 Есть сторонний плагин, который сделает это для вас. Chartjs-plugin-label, посмотрите демо Ответ 3 Если вы используете 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, }]; });
Ответ 1 Да, в ChartJS есть "скрытый" флаг. например. data: { datasets: [ { data: [1,2,3], label: 'My First Dataset', hidden: true, }, ], } См. эту проблему в GitHub: https://github.com/chartjs/Chart.js/issues/689
Ответ 3 Если вы используете 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, }]; });