2017-02-24 10 views
0

モデルから角度1.5のデータを使用して、学生数に基づいて各クラスのパーセンテージを得るにはどうすればよいですか?私は各クラスの学校の生徒の合計に比べて学生の割合を表すdonughtグラフを構築する必要があり、これらの件のデータで ...AngularJS - モデルからのデータを使用してグラフを作成する方法

"payload": { 
    "Schools": [{ 
      "Sections": [{ 
        "Name": "Class", 
        "Value": "2A" 
       }, { 
        "Name": "Count", 
        "Value": 29 
       } 
      ] 
     }, { 
      "Sections": [{ 
       "Name": "Class", 
       "Value": "3C", 
      }, { 
       "Name": "Count", 
       "Value": 31 

      }] 
     }, { 
      "Sections": [{ 
       "Name": "Class", 
       "Value": "1B", 
      }, { 
       "Name": "Count", 
       "Value": 27 

      }] 
     } 
    ], 
     "masterCategory": "School members", 
     "totalStudents": 87 
    } 
} 
+0

グラフのどのような? – tavnab

+0

私の問題はグラフではなく、私の問題は各データを関連する値に関連付ける方法です。 – Zaits3v

+0

これはグラフに関するものではない場合、角度のグラフを作成する方法を尋ねる質問タイトルを更新してください。名前/値のペアのリストから名前/パーセンテージのペアのリストに移動する方法を知る必要がある場合は、実際には角度の質問ではありません。 – tavnab

答えて

2

var app = angular.module("myApp", []); 
 

 
app.controller("myCtrl", function($scope) { 
 
    $scope.records = { 
 
    "Schools": [{ 
 
     "Sections": [{ 
 
     "Name": "Class", 
 
     "Value": "2A" 
 
     }, { 
 
     "Name": "Count", 
 
     "Value": 29 
 
     }] 
 
    }, { 
 
     "Sections": [{ 
 
     "Name": "Class", 
 
     "Value": "3C", 
 
     }, { 
 
     "Name": "Count", 
 
     "Value": 31 
 

 
     }] 
 
    }, { 
 
     "Sections": [{ 
 
     "Name": "Class", 
 
     "Value": "1B", 
 
     }, { 
 
     "Name": "Count", 
 
     "Value": 27 
 

 
     }] 
 
    }], 
 
    "masterCategory": "School members", 
 
    "totalStudents": 87 
 
    } 
 

 
});
<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
 

 
<body ng-app="myApp" ng-controller="myCtrl"> 
 

 
    <h1 ng-repeat="x in records.Schools">{{x.Sections[0].Value}} = {{(x.Sections[1].Value/records.totalStudents)*100 | number : 0}}%</h1> 
 

 
</body> 
 

 
</html>

+0

これは私が欲しいものです!コントローラ内で 'x.Sections [0] .Value'と' x.Sections [1] .Value'をどのように取得できますか?^^ – Zaits3v

+0

angular.forEach($ scope.records.Schools、function(value、key){ \t \t console.log(value.Sections [0] .Value + ':' + value.Sections [1] .Value + ':' + $ scope.records.totalStudents); }); – abbasak

+0

これらのデータを使って、各クラスについて、学校の生徒の合計と比較した学生の割合を表すドントフグラフを作成する必要があります。 – Zaits3v

関連する問題