使用tc-angular-chartjs我能夠得到餅圖的功能,但一直未能弄清楚如何總結標籤值以正確顯示。另外,我可以使用他們的示例獲取條形圖,但不能通過ajax調用與外部數據配合使用。Angularjs:爲圖表求和的數組元素
注意:我對angularjs和javascript都很陌生,所以我可能在這裏錯過了一些簡單的東西,但我一直在試圖找出沒有運氣的日子。
餅圖例如: 我正在使用工廠和restangular來獲取外部數據,並工作。
問題#1
要計算我已經試過幾次提到我已經找到了元素值,但沒有運氣試圖納入圖表。 這是我試過的參考文獻之一。他們大多是我見過的這個變化:occurrence of array elements
海圖代碼片段:
services.forEach(function(service) {
data.push({
'value': incident.service.name.length, // Need to calculate sum of each 'label: service' element. [Used .length to get test value]
'color': colors.getRandom(), // This works, but need colors to be same for ea. service name
'highlight': 'brown',
'label': incident.service.name
});
$scope.data = data;
//console.log($scope.data);
});
數據輸出例:
Array[65]
0: Object
color: "orange"
highlight: "brown"
label: "Service1"
value: 36
__proto__: Object
1: Object
color: "navy"
highlight: "brown"
label: "Service1"
value: 40
__proto__: Object
2: Object
color: "green"
highlight: "brown"
label: "Service2"
value: 40
3: Object
color: "blue"
highlight: "brown"
label: "Service3"
value: 20
etc ..
HTML:
<div class="chart" ng-controller="chartController" style="margin-top:20px;">
<canvas tc-chartjs-pie chart-options="options" chart-data="data" auto-legend></canvas>
</div>
條形圖只能在其網站上使用示例。
問題#2 - 下面我將我得到調查這一個進一步
嘗試:類型錯誤:無法讀取未定義
代碼片斷的特性 '長度':
// Chart.js數據
services.forEach(function(service) {
data.push({
label: incident.service.name,
fillColor: 'rgba(220,220,220,0.5)',
strokeColor: 'rgba(220,220,220,0.8)',
highlightFill: 'rgba(220,220,220,0.75)',
highlightStroke: 'rgba(220,220,220,1)',
data: incident.service.name.length
});
$scope.data = data;
//console.log($scope.data);
});
「事件」從哪裏來? 'service'已經被傳遞到每個'services'迭代的函數中。難道它不是'service.name.length'嗎? – daleyjem
條形圖長度誤差具有誤導性。無論我使用.length還是硬編碼,它都會發生。此外,我的主要問題是總結價值領域的元素,所以現在可能忽略條形圖問題。我會審查一次,我可以至少得到餅圖功能準確。 – georgeb1
使用Chrome開發工具,並在您的JS中放置斷點以查看等同於什麼。如果你是JS的新手,它會開闢一個全新的世界,以便看到事情出錯的地方。 – daleyjem