Androidアプリでのグラフ描画は「MPAndroidChart」が良いらしい。
が、サンプルが古いものばかりでハマっていた。
具体的にはLineDataのコンストラクタにX軸のラベルとY軸のデータを設定するサンプルが多かったんだけど、
これは古いみたいでした。
というわけで折れ線グラフを描画した際にハマったことの共有です。
なお、参考資料のサイトが日本語で非常に助かりました。多謝。
ここに記載してない項目はぜひ参考資料を見てください。
前提環境(バージョンとか)
Android Studio Version 3.1.4
Windows 10 HOME Version 1803, OS build 17134.228
初期設定
【Androidアプリ開発勉強】開発時にハマったこと(XAMLでデザイン編)のmpandroidchart使えない問題で記載。
初心者だとググった結果をそのまま利用するには敷居が高いイメージ。
公式ドキュメントに気づくまで結構ハマりました。
レイアウトの設定など
折れ線グラフの値を示す点の色。
LineDataSet.setCircleColorでセット可能。
線の色だけ変えると点がスゴク浮くので…。
線の太さ
LineDataSet.setLineWidth
点の値の表示/非表示
LineDataSet.setDrawValues
拡大・縮小(ダブルタップも含む)の可否。
LineDataSet.setScaleEnabled
一般的なピンチイン・アウトに加え、ダブルタップによる拡大もこれで制御。
Y軸の開始値。
YAxis.setAxisMinimum
0始まりにしたいときはこれで。
Y軸の値を少数にしたくない
値が10以下の時は以下のように固定で10にすると回避できます。
10以下でも行けるかは未確認。
YAxis.setAxisMaximum(10);
YAxis.setLabelCount(10);
X軸のテキストサイズ
XAxis.setTextSize
X軸にMM/DDを表示したいときに重なりの調整に設定しました。
X軸のラベル数
XAxis.setLabelCount
グリッドの縦線の数と言うと伝わりやすいかもしれません。
値の変更を反映する
一度セットした値を別の値に変えた時は以下を呼び出さないと反映されません。
LineChart.notifyDataSetChanged();
LineChart.invalidate();