スポンサーサイト


    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。





    Androidで折れ線グラフを描く(AChartEngine)



    ■Androidで折れ線グラフを描く(AChartEngine)

    前回の記事でAChartEngineのサンプルを動かしました。
    じゃあ、個別のグラフを作りましょうか、ということでまずは、下図のような折れ線グラフ。
    021602.png

    サンプル作成では全部のクラスを一気にインポートしましたが、今回必要になるのは
    下記のクラス。とりあえずこいつらを自分のプロジェクトにコピーしてください。
    (libフォルダへjarファイルのインポート→ビルドパスの追加、もお忘れなく)
    ・AverageTemperatureChart.java
    ・AbstractDemoChart.java
    ・IDemoChart.java

    各グラフ本体がAverageTemperatureChartで、その他がextendsだったりします。
    なので、今後グラフの種類を変えたい場合は、AverageTemperatureChartを別の
    クラスを持ってきます。

    そしていきなりコード(AverageTemperatureChartのexecute部分)↓


    元のコードに日本語で解説を加えました。
    知ってしまうとなんてことない内容なので、それほど難しくないと思います。
    特に、返値のIntentをGraphicalViewに変更したほうが非常に便利なため、おすすめです。
    前回も紹介しましたが、こちらの記事を参考にするとわかりやすいです。

    GraphicalViewに変更した場合、IDemoChart.javaのexecuteも同じく
    IntentからGraphicalViewへと変更してください。

    あとはマニフェストファイルへの記述追加(元のサンプル参照)を忘れないようにしてください。
    だんだん面倒くさくなってきたので今回はこの辺にしときます
    次は複数グラフの組み合わせとかやりたいなー。

    関連記事
    スポンサーサイト





    コメントの投稿

    非公開コメント

    No title

    ブログものすごく参考になりました。
    御相談なんですが、このまま折れ線グラフを自プロジェクトに組み込むと全画面に折れ線グラフが描画されます。今、やりたい事は一つの画面に複数、例えば折れ線グラフと円グラフを表示したいのですが、サイズ指定とか出来るのでしょうか?

    いきなり不躾な質問をしてしまい申し訳御座いません。
    まだ、android駆け出しで。。。。

    グラフとレイアウト

    カズヒロさん

    こんにちは。読んでもらえて嬉しいです。

    グラフの複数表示、ですがやったことないんですがレイアウトの調整は可能です。
    サンプルコードの49行目からの説明で「GraphicalView」へ変更する方法が
    解説してあります。

    これを使うと、通常、全画面表示になってしまうグラフが「ImageView」を使うように
    レイアウトを組んで表示することが可能となります。

    この場合、呼び出し元のクラスのレイアウト(たとえばmain.xmlなど)に、あらかじめ
    LinearLayoutとして表示エリアを組み込んでおくと、その場所に表示されます。
    (参考サイトのやり方。個人的にはタブレイアウトで同じ方法で行ったら
    ちゃんとタブの下部に表示されました。)

    それで、複数表示の場合は上記の組み合わせでいけるんじゃないかなー、
    と思うのですがまだ試していません、すみませんe-260
    また次の記事で書けたらやってみたいとおもいます。

    No title

    こんばんは
    このブログのおかげでグラフの表示ができました。

    質問なのですが上のプログラムを使ったグラフをボタンを押してから表示させるにはどうやったらよいのでしょうか?

    突然の質問申し訳ありません。
    まだまだ未熟なのでお願いします。

    Re: No title

    こんにちは、参考にしてもらえてありがとうございます。

    ボタンを押したら表示される、のは色々とパターンがありますが、
    以下のような方法が考えられます。


    ■ボタンを押したら、新しい画面(Activity)を開いて表示する場合
    ボタンをタッチしたイベントとして、グラフのActivityを起動します。

    参考サイト:
    http://web-terminal.blogspot.jp/2013/04/intentactivity.html

    ↑こちらの、「画面遷移の方法!Intentを使って指定のActivityへ制御を移す!」
    がわかりやすいと思います。
    あらかじめ作っておいたグラフActivityをクリックによって呼び出します。


    ■同一画面内でグラフを表示する場合
    何らかの処理→タッチでグラフを更新すると画面内のグラフが更新される、というような場合、
    上記折れ線グラフのコードですと、 chart_area.addView(atc.execute(this));
    の処理を再度行ってあげれば出てくると思います。


    ちょっと想像で回答しているので見当はずれかもしれませんが、
    たぶん色々と方法はあると思うので試してみてください。
    カテゴリ
    検索フォーム
    メールフォーム

    名前:
    メール:
    件名:
    本文:

    お世話になっている書籍達




















    リンク



    最新記事
    月別アーカイブ
    最新コメント
    プロフィール

    yukinori110

    Author:yukinori110
    Androidってなに?Javaってなに?というレベルから勉強してます。

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。