[Android] 分単位の時系列データの折れ線グラフ


1分単位の時系列データの折れ線グラフを実装しました。

ソースコードは、githubで公開しました。

20171101_screenshot_line_vhart_time_one_minute_interval
MPChartExample には 時系列データの折れ線グラフ line chart time が用意されています。

しかし、1時間単位に限定されているようです。

X軸 時間軸 の値として、
現在時刻を下記のように設定します。

TimeUnit.MILLISECONDS.toHours(System.currentTimeMillis())
 

これに1を加算することで、1時間後になります。

X軸 時間軸 の目盛りの表記は、
XAxis#setValueFormatter に

SimpleDateFormat("dd MMM HH:mm")

というような表記形式を設定します。

時間軸 の値を
TimeUnit#toMinutes のように1時間単位から1分単位にするか、
間軸 の値増分を1X軸 時間軸 の値の増分を1から1/60 にすれば、
いける気がしたのですが,
どちらも描画できなかった。

何か良い方法はないかと探したところ、
MPAndroidChartを使って リアルタイム更新のセンサーデータ時系列グラフ のサンプルを作ってみた
にて、任意の時間単位を実現していました。

時間軸 の値は数値ではなく文字列です。
点や線をプロットする間隔は、一定のようです。
X軸 時間軸 の目盛りにその文字列を使用します。

時間軸 の値に文字列で設定するには

LineData#addXValue( String )

というメソッドを使用します。

このメソッドは、
MPAndroidChart v2.1.6 にはありますが、
v3.0.2 にはなく、コンパイルエラーになります。

この方法で、1分単位の折れ線グラフを実現しました。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です