Spring-MVCの散歩道 > JSONぶらり旅 > json型DBを使ってDBから検索したデータで棒グラフを表示するサンプル
|
■JSONぶらり旅 棒グラフサンプル |
1)view(Ajaxリクエスト) |
前回の chart2htmlと基本的には何も変わっていません。 データも、サーブレットも前回のものをそのまま流用します。 違うのは、ドーナッツグラフではなく、棒グラフを描画する事。 ただ、ドーナッツグラフと違って、ちょっとしたコツが要ります。 ソースのコメントが「ドーナッツ」のままですが、適宜「棒グラフ」と読み替えてください。 具体的には、 1)グラフの凡例がちょっとうざい。 2)デフォルトだとY軸ベースがグラフの最小値となってしまうため、最小グラフが見えなくなる の2点を調整するのにちょっとしたコツがあります。 ネットを検索すると、グラフオプションの日本語解説のページがわんさがありますが Chart.js公式サイトから引っ張ってきた最新Chart.jsはかなり進化を遂げているようで 使い方がいろいろ変わっています。 ネットに氾濫している情報は、ちょっと古いChart.jsの使い方の説明で、 最新のChart.jsでは使えなくなってるみたいなので注意が必要です。 最終的には、Chart.js公式サイトの英語版ドキュメントに説明があるので 頑張って自分で翻訳するしかないようです。 今回のコツの部分を赤字で表示してあります。 |
WebContent/barchart.html |
1)グラフの凡例がちょっとうざい。 Chart.defaults.global.legend.display=false; を指定することで、凡例が表示されなくなります。 これは、棒グラフに限ったことではなく、すべてのグラフに共通です。 2)デフォルトだとY軸ベースがグラフの最小値となってしまうため、最小グラフが見えなくなる optionを何も指定しないと、デフォルトでY軸最小値==グラフの最小値で描画するため 最小値のグラフが見えなくなるためあまりカッコよくありません。 この場合は、グラフのoptions に scales:{yAxes:[{stacked: true}]}を指定します。 |
JSON動作サンプル(棒グラフ描画) ![]() |
JSONサンプル view(HTML) |