2018年10月23日火曜日

レーダーチャートの表示1

今回は関連した検査項目を視覚的に把握出来る様なレーダーチャートの実装を試みる。
まず、レーダーチャートを導入するにあたって、「chart.js」の実装が必要という事が分かった。
そこでこちらをhttps://press.monaca.io/atsushi/230参考にしてchart.jsの実装を行っていく。
まず、MONACAの設定タブからJS/CSSコンポーネントの追加と削除をクリックする。

図1JS/CSSコンポーネント検索画面
そして、上記図1の様に検索欄に「Chart」と入力を行う。その後表示されている「Chart.js」の追加をクリックする。
図2 追加をクリックした際のポップアップ

その後、上記図2の様なポップアップが表示されるのでインストールをクリックする。
図3 ファイル選択画面

インストールをクリックすると、上記図3の様なchart.js内で読み込みを行うファイルの選択を行う事が出来るので、
「components/chart.js/dist/Chart.min.js」にチェックを入れ、保存をする。
これでChart.jsの導入が完了したので、プログラムの修正を行っていく。
【HTML】
  1. <head>
  2. <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
  3. 中略
  4. <body>
  5. <ons-template id="tab.html">
  6. <ons-page>
  7. <ons-tabbar>
  8. <ons-tab page="radarchart.html" label="レーダーチャート" icon="ion-ios-pie-outline">
  9. </ons-tab>
  10. </ons-tabbar>
  11. </ons-page>
  12. </ons-template>
  13. :
  14. 中略
  15. :
  16. <ons-template id="radarchart.html">
  17. <ons-page ng-controller="RaderChartController as raderchart">
  18. <ons-toolbar>
  19. <div class="center">レーダーチャート</div>
  20. </ons-toolbar>
  21. <div id="canvas-holder" style="width:100%">
  22. <h1>Bar chart</h1>
  23. <canvas id="pie-chart-area" width="300" height="300">
  24. </canvas>
  25. </div>
  26. </ons-page>
  27. </ons-template>
まず、2行目のheadに先ほど実装したchart.jsをCDN(Content Delivery Network)で取得する。
次に、bodyにレーダーチャートを表示するページの作成を行う。
7行目にレーダーチャートを表示するタブバーの定義を行い、
18行目にビューの作成、 19行目ではコントローラーの指定を行い対応付けを行う。
20~22行目はツールバーの記述、25行目ではグラフの書式設定を行っている。

【JavaScript】
  1. .controller('RaderChartController', ['$scope', 'Countries', function($scope, Countries) {
  2. var that = this;
  3. //レーダーチャート
  4. var ctx = document.getElementById("pie-chart-area");
  5. var myChart = new Chart(ctx, {
  6. type: 'radar',
  7. data: {
  8. labels: ["M", "T", "W", "T", "F", "S", "S"],
  9. datasets: [{
  10. label: 'apples',
  11. backgroundColor: "rgba(153,255,51,0.4)",
  12. borderColor: "rgba(153,255,51,1)",
  13. data: [12, 19, 3, 17, 28, 24, 7]
  14. }, {
  15. label: 'oranges',
  16. backgroundColor: "rgba(255,153,0,0.4)",
  17. borderColor: "rgba(255,153,0,1)",
  18. data: [30, 29, 5, 5, 20, 3, 10]
  19. }]
  20. }
  21. });
  22. }])
まず、1行目でコントローラの作成を行う。名称はHTMLで定義したRaderChartControllerにする。
3行目からはこちらhttps://www.webprofessional.jp/introduction-chart-js-2-0-six-examples/を参考にして
レーダーチャートの描く関数の記述である。

図4 レーダーチャート画面
HTMLとJavascriptの編集を終えた後、スマートフォンで確認をすると上記図4の様にレーダーチャートの記述が行う事が出来た。
次回はサンプルデータではなく、実際の検査データの抽出を行い、レーダーチャートに表示を行えるようにしたい。

0 件のコメント:

コメントを投稿

レーダーチャートの表示2

前回 レーダーチャートの表示を行うことが出来たので、今回は実際の値を代入したグラフの描画を試みる。 .controller('RaderChartController', ['$scope', 'Countries', funct...