エンコードされたJSONデータをデータベースから検索してAngular-nvD3グラフに読み込みたいのですが、どのように行うのか、どちらの方法が最適なのかわかりませんそのような仕事を達成する。Angular-nvD3グラフ(AngularJS)にJSONデータを読み込み
私は、APIを使用してデータベース(テーブルPRODUCTS)からのクエリを使用して、エンコードされたJSONデータを取得します。私はすでに、このようなデータを$http
リクエスト(工場にロード)のテーブルに、指定したapiにロードしました。データは工場の辞書にオブジェクトとして保存され、APIには$http
個の要求があります(サービスにあります)。テーブルの
サンプル(表PRODUCTS):工場の
ID STOCK
サンプル:
.factory('services', ['$http', function($http){
var serviceBase = 'services/'
var object = {};
object.getData = function(){
return $http.get(serviceBase + 'data');
};
return object;
}]);
(図中の "ng-repeat="data in get_data"
" で)テーブルにデータを表示するコントローラのサンプル:
.controller('TablesCtrl', ['$scope', 'services', function($scope, services) {
services.getData().then(function(data){
$scope.get_data = data.data;
});
}]);
データ・フォーマットのサンプル:
[{"0":"1","1":"100","ID":"1","STOCK":"100"},{"0":"2","1":"275","ID":"2","STOCK":"275"}]
円グラフ - これは、私がaddaptしたいスクリプトのタイプの例です(THISリポジトリから):
'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>
私の質問です:それは$scope.data
に手動でデータを入力する代わりにアンギュラnvD3のグラフに、このようなエンコード取り出されたJSONデータをロードすることが可能ですか?
ありがとうございました!
:あなたが(それは通常、デフォルトでは、角のアプリケーションに含まれていますが)lodashを使用したくない場合は
あるいは、あなたのような何かを行うことができますあなたはチャートに直接プラグインすることができます'services.getData()。then(function(data){ $ scope.data = data.data; });'です。それ以外の場合は、チャートが期待する構造にデータをマッサージする必要があります。 –
[例:このplunkerを参照](http://plnkr.co/edit/QWFunjULS325rMAPcXNW?p=preview)。 –
私はチャートにデータを直接差し込むことはできないと思います。私の質問は、どのように私はチャートが期待している構造にデータをマッサージするのですか?たとえば、「キー」を持つオブジェクトと「y」(値)を持つオブジェクトの2つのクエリがありますか?どちらもJSON形式です。 – Ariana