[Android] MPAndroidChart ライブラリーでグラフを描画

以前はACHartEngineを紹介していましたが、サポートが無くなったようです。無料ライブラリーのリスクの一面ですね。

ただグラフを表示を一から作ると結構大変なので他の物をさがしました。MPAndroidChartです。
 
mpandroidchart 01 - [Android] MPAndroidChart ライブラリーでグラフを描画

Android Studio 3.0.1
Android 8.1.0

 



MPAndroidChart

 
こちらに MPAndroidChart 設定等の説明があります。サンプルコードもあります。Android Studio 3以降に直ぐに対応していました。(拍手)
 
Android Studio 3.0 から設定が変わりました。このライブラリーについての他の説明(2017/10以前)では、そのままやるとエラーとなったので、サンプルコードから切り出してみました。なるべく本質的なところがわかりやすいように簡略化しました。
 
チャートの種類は幾つもあるのですがLineChartを選び、
元々400行+αのところを100行程度までにしました。足りないと思うかたは上記サイトから探してください。
 

 

build.gradleの設定

 
build.gradle (Project…)

 
build.gradle (Module…)

 

 

320x480 0107ddd2cbf3fe9b2650df47e5e47ebd d740e - [Android] MPAndroidChart ライブラリーでグラフを描画

サンプルコード

 
まとめたコードです。
MainActivity.java

 
activity_main.xml

 
LineChartActivity1.javaを元にしていますが

  • チャートの拡大・縮小
  • チャートの表示領域のスクロール
  • X座標・Y座標のスタイル
  • ポイントの数値表示、アイコン表示
  • 最大値・最小値の表示
  • その他

これらの機能は省きましたので、使いたい場合はコードから探してください。

 

加速度センサーチャート

 
このMPAndroidChartを使って加速度センサーのX,Y,Z軸をチャートにしてみました。
 
linear accelerometer 01 - [Android] MPAndroidChart ライブラリーでグラフを描画
 

 

AChartEngine

 
このライブラリーは以下の環境まで確認していました。
 

Android Studio 2.2.2
Android 7.1.1

 
ここ数年アップデートが無いようで、Android Studio 3 以降では断念しました。過去のケースでの参考にしばらく残しておきます。

ラブラリーによってはライセンスが面倒なものは公開することを考慮すると避けたいところです。そこで、割とゆるいライセンスのAChartEngineを使ってみたいと思います。

achartengne 1 171x300 - [Android] MPAndroidChart ライブラリーでグラフを描画

こちらを見てもらえばできそうなグラフがだいたいわかります
https://github.com/ddanny/achartengine
デモコードもありますのでそのまま使えてしまいます

687474703a2f2f7777772e616368617274656e67696e652e6f72672f64696d616765732f74656d70657261747572655f72616e67655f63686172742e706e67 - [Android] MPAndroidChart ライブラリーでグラフを描画
687474703a2f2f7777772e616368617274656e67696e652e6f72672f64696d616765732f636f6d62696e65645f63686172742e706e67 - [Android] MPAndroidChart ライブラリーでグラフを描画

 

687474703a2f2f7777772e616368617274656e67696e652e6f72672f64696d616765732f617665726167655f74656d70657261747572652e706e67 - [Android] MPAndroidChart ライブラリーでグラフを描画
687474703a2f2f7777772e616368617274656e67696e652e6f72672f64696d616765732f73616c65735f6c696e655f616e645f617265615f63686172742e706e67 - [Android] MPAndroidChart ライブラリーでグラフを描画

 

ライブラリーの設定

 
その前に、ライブラリーの設定ですが
marven repository のようです
url “https://repository-achartengine.forge.cloudbees.com/snapshot/”
これを
build.gradleに以下のように追加します

build.gradle (Project: xxx)

 
dependencies に以下を追加
compile group: ‘org.achartengine’, name: ‘achartengine’, version: ‘1.2.0’
 
build.gradle (Module: app)

 

コード

 

とりあえず適当なデータを入れてみました

MainActivity.java

レイアウトはLinearLayoutのidを指しているだけですので
汎用性があるのはありがたいところです
Activity_main.xml

データを変えたり、ラインチャートを棒グラフにしたり色々できそうです。

ライセンスはアプリのインフォページかどこかに表記すればいいようです。

AChartEngine http://achartengine.org

その他のLibraryページ

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加

ページのトップへ戻る




 

シェアする

  • このエントリーをはてなブックマークに追加

フォローする