LoginSignup
4
2

More than 5 years have passed since last update.

【Androidアプリ開発勉強】MPAndroidChartで折れ線グラフを描画したい。

Last updated at Posted at 2018-08-27

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();

参考資料

【Android】Androidでグラフを描画する - 線グラフ編

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2