角图js设置条形图的填充颜色

时间:2016-09-23 09:57:56

标签: javascript angularjs charts chart.js angular-chart

我认为我疯了 - 我已经完全浏览了所有图表js和角图js文档和示例,并且无法更改条形图的填充颜色。

现在我在html中有这个:

<canvas
  data-ng-show='graphType.bar'
  class="chart chart-bar graph"
  chart-data="data"
  chart-labels="labels"
  chart-colours=colorsEven>
</canvas>

在控制器中我有:

$scope.results = {'1': 0, '2': 0, '3': 0, '4': 0, '5': 0, '6': 0, '7': 0, '8': 0, '9': 0, '10': 0};
$scope.labels = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];

//然后我有一个获取数据的GET请求

for (var i=0; i<res.data.length; i++) {
    $scope.results[res.data[i].Body] ++;
}
for (var key in $scope.results) {
    $scope.data.push($scope.results[key]);
}
$scope.colorsEven = [{ 
    fillColor: 'rgba(59, 89, 152,0.2)',
    strokeColor: 'rgba(59, 89, 152,1)',
    pointColor: 'rgba(59, 89, 152,1)',
    pointStrokeColor: '#fff',
    pointHighlightFill: '#fff',
    pointHighlightStroke: 'rgba(59, 89, 152,0.8)'
}];

我看不出我做错了什么?每个酒吧都有一个对象吗?在这种情况下10个对象?顺便说一句条形图填充得很好 - 标签和数据应该是它们的位置。只是颜色不起作用。

编辑:澄清 - 我正在寻找所有的酒吧是相同的颜色。

2 个答案:

答案 0 :(得分:2)

HTML ""应引用HTML属性。此外,它应该是chart-dataset-override而不是chart-colours

<canvas
  data-ng-show="graphType.bar"
  class="chart chart-bar graph"
  chart-data="dataProp"
  chart-labels="labels"
  chart-dataset-override="colorsEven">
</canvas>

要使chart-dataset-override有效,chart-data必须是数据Array的{​​{1}}。

Array

答案 1 :(得分:1)

正如您在此post中所看到的,命名已更改。如果您使用的是角度图表1.0.3,则该属性为图表颜色

此外, fillColor 现在是 backgroundColor ,您可以使用 borderColor 作为条形图的边框颜色。