JSON-Daten in Angular-nvD3-Diagramm laden (AngularJS)
Ich möchte codierte JSON-Daten, die mit Abfragen aus einer Datenbank abgerufen wurden, in ein Angular-nvD3-Diagramm laden, weiß aber nicht, wie dies zu tun ist oder auf welche Weise diese Aufgabe am besten ausgeführt werden kann.
Ich rufe verschlüsselte JSON-Daten mit Abfragen aus einer Datenbank (Tabelle PRODUCTS) mit einer API ab. Ich habe solche Daten bereits erfolgreich mit @ in Tabellen gelad$http
Anfragen (in eine Factory geladen) an die angegebene API. Die Daten werden als Objekt in einem Wörterbuch in einer Fabrik mit @ gespeicher$http
Anfragen an die API (in Services).
Beispiel der Tabelle (Tabelle PRODUKTE):
ID STOCK
1 100
2 275
Beispiel der Fabrik:
.factory('services', ['$http', function($http){
var serviceBase = 'services/'
var object = {};
object.getData = function(){
return $http.get(serviceBase + 'data');
};
return object;
}]);
Beispiel einer Steuerung zum Anzeigen der Daten in einer Tabelle (mit "ng-repeat="data in get_data"
" in der Ansicht)
.controller('TablesCtrl', ['$scope', 'services', function($scope, services) {
services.getData().then(function(data){
$scope.get_data = data.data;
});
}]);
Beispiel des Datenformats:
[{"0":"1","1":"100","ID":"1","STOCK":"100"},{"0":"2","1":"275","ID":"2","STOCK":"275"}]
PIE CHART - Dies ist ein Beispiel für die Art von Skript, das ich hinzufügen möchte (vonDIE Repository)
'use strict';
angular.module('mainApp.controllers')
.controller('pieChartCtrl', function($scope){
$scope.options = {
chart: {
type: 'pieChart',
height: 500,
x: function(d){return d.key;},
y: function(d){return d.y;},
showLabels: true,
duration: 500,
labelThreshold: 0.01,
labelSunbeamLayout: true,
legend: {
margin: {
top: 5,
right: 35,
bottom: 5,
left: 0
}
}
}
};
$scope.data = [
{
key: "One",
y: 5
},
{
key: "Two",
y: 2
},
{
key: "Three",
y: 9
},
{
key: "Four",
y: 7
},
{
key: "Five",
y: 4
},
{
key: "Six",
y: 3
},
{
key: "Seven",
y: .5
}
];
});
HTML:
<div ng-app="myApp">
<div ng-controller="pieChartCtrl">
<nvd3 options="options" data="data"></nvd3>
</div>
</div>
Meine Frage ist: Wie ist es möglich, solche abgerufenen codierten JSON-Daten in ein Angular-nvD3-Diagramm zu laden, anstatt die Daten manuell in @ einzugebe$scope.data
?
Vielen Dank