アンドロイド・チャーツは、簡単に使えるアンドロイドのアプリに入れるグラフのライブラリーです。現在は円グラフと折れ線グラフと棒グラフがあります。このライブラリーを更新したら、こっちにアップするけど、新しいバージョンをアップする時、古いバージョンを消します。誰かの役に立つといいと思っています!
アンドロイド・チャーツを使うためには、まずはAndroid StudioのプロジェクトにAARかソースコードを取り込まないといけません。取り込む方法はいろいろなウェブサイトに書いてあるので、ここでは説明しません。
XMLのレイアウトに円グラフを入れるには「sanderson.androidcharts.PieChart.PieChart」というのを使います。例えば、mylayoutというレイアウトに150dp×150dpの円グラフを入れたいなら以下のように書きます。
<sdanderson.androidcharts.PieChart.PieChart
android:id="@+id/piechart"
android:layout_width="150dp"
android:layout_height="150dp" />
レイアウトに円グラフを入れたら、ソースコードでは以下のように円グラフと対応できます。
import sdanderson.androidcharts.PieChart.PieChart;
... 他のコード ...
View v = inflater.inflate(R.layout.mylayout, container, false);
PieChart p = (PieChart) v.findViewById(R.id.piechart);
p.addSlice("First Label", 200, Color.RED);
p.addSlice("Second Label", 100, Color.DKGRAY);
p.addSlice("Third Label", 20, Color.BLUE);
p.percentalize(true);
p.setBorderWidth(6f);
p.setBorderColor(Color.WHITE);
PieChartのメソッド(戻り値があるメソッドしか戻り値の型が書いていない)
addSlice(String pLabel, float pValue, int pColor): 円グラフに一部を追加する。addSlice()は引数が3つで、1つ目はその一部のラベルで、2つ目はその一部の値で、3つ目はその一部の色だ。
PieChartItem getSliceByColor(int pColor): 色でPieChartItemを取得する。
percentalize(boolean pPercentalize): 一部の値をポップアップにパーセントで表示するかどうか設定する。引数はbooleanでtrueならパーセントで表示し、falseなら値のままで表示する。このメソッドを使わない場合、値のままで表示する。
boolean isPercentalized(): 表示している値はパーセントで表示するように設定されているかどうか引数が戻る。パーセントで表示しているように設定された場合、戻り値がtrueで、値のままならfalseになる。
setBorderWidth(float pBorderWidth): 円グラフの一部と一部の間と円グラフの縁の太さを設定する。
setBorderColor(int pBorderColor): 円グラフの一部と一部の間と円グラフの縁の色を設定する。
setDecimalFormatPopupValue(DecimalFormat pDecimalFormat): ポップアップで表示してる数値のDecimalFormatを設定する。
setUseNumberAbbreviationSuffixValue(boolean pUseSuffix): ポップアップで表示してる数値の省略を有効・無効にする。
setNumberSuffixes(String pSuffixes): ポップアップで表示してる数値を省略する場合、数値の後ろに付く文字を設定する。デフォルト設定は"kmbt"の"thousand","million","billion","trillion"だ。
setNumberGroupSplit(int pGroupSplit): ポップアップで表示してる数値を省略する場合、数値を何桁に分けるか設定する。デフォルト設定は"kmbt"の後ろ付けに従う3だ。例えば、3なら3桁ごと分けて、数値は350000なら350kになります。
setUseAnimation(boolean pUseAnimation): アニメーションを有効・無効にする。pUseAnimationはtrueならアニメーションを有効に設定する。アニメーションは左から右へ線を描くことです。このメソッドを使わない場合、アニメーションは無効になる。
setAnimationTime(float pAnimationTime): アニメーションの時間(ミリ秒)を設定する。
reanimate(): アニメーションを再生する。
setOnSliceTouchedListener(OnSliceTouchedListener pOnSliceTouchedListener): onSliceTouchedListenerインタフェースのonSliceTouchedコールバックのリスナーを設定する。
PieChartのインタフェース
interface OnSliceTouchedListener { onSliceTouched(int pColor, PieChart pPieChart, float pTouchedX, float pTouchedY) }: onSliceTouchedにはsetOnSliceTouchedListenerがリスナーを設定するのが必要で、PieChartのビューをタップする時(ユーザーが指を離す時)onSliceTouchedが呼び出される。
XMLのレイアウトに折れ線グラスを入れるには「sanderson.androidcharts.LineChart.LineChart」というのを使います。例えば、mylayoutというレイアウトに親ビューの高さ×300dpの折れ線グラフを入れたいなら以下のように書きます。
<sdanderson.androidcharts.LineChart.LineChart
android:id="@+id/linechart"
android:layout_width="fill_parent"
android:layout_height="300dp" />
レイアウトに折れ線グラフを入れたら、ソースコードでは以下のように折れ線グラフと対応できます。注意:Coordinateというクラスもインポートしないといけません。Coordinateクラスは簡単に(x,y)の座標を保存できるクラスです。
import sdanderson.androidcharts.Common.Coordinate;
import sdanderson.androidcharts.LineChart.LineChart;
... 他のコード ...
View v = inflater.inflate(R.layout.mylayout, container, false);
LineChart l = (LineChart) v.findViewById(R.id.linechart);
List<Coordinate<Float, Float>> tempValues = new ArrayList<>();
tempValues.add(new Coordinate<>(2010f, 100f));
tempValues.add(new Coordinate<>(2011f, 200f));
tempValues.add(new Coordinate<>(2012f, 300f));
tempValues.add(new Coordinate<>(2013f, 400f));
tempValues.add(new Coordinate<>(2014f, 500f));
tempValues.add(new Coordinate<>(2015f, 600f));
l.SetChartTitle("Number of People Eating Cheesecake");
l.SetXLabel("Year");
l.SetYLabel("People (1000s)");
l.AddLine("Cheesecake", tempValues, Color.RED);
addLine(String pLabel, List<Coordinate<Float, Float>>pCoordinates, int pColor): データの線をグラフに追加する。pLabelは追加する線のラベルで、pCoordinatesはその線の座標のListで、pColorはその線の色だ。
setChartTitle(String pTitle): グラフのタイトルを設定する。
setChartTitleColor(int pColor): グラフのタイトルの色を設定する。
setChartBackgroundColor(int pColor): グラフの背景の色を設定する。
setGridlineWidth(float pGridlineWidth): 目盛線の太さを設定する。
setNumOfGridlines(int pNumOfGridlines): Y=0の線の上にも下にも目盛線の数を設定する。例えば、2に設定したら、Y=0の線の上にも下にも2目盛線が書く。
setChartGridlineColor(int pColor): 目盛線の色を設定する。
setZeroLineWidth(float pWidth): Y=0の線の太さを設定する。
setZeroLineColor(int pColor): Y=0の線の色を設定する。
setRoundOutChartYMinMax(boolean pRound): 最高の1桁でグラフのY数値の最高数値を切り上げて、最低数値を切り下げるのを有効・無効にする。
setRoundOutChartYMinMax(boolean pRound, int pHighestDigits): 最高の何桁でグラフのY数値の最高数値を切り上げて、最低数値を切り下げるのを有効・無効にする。例えばpHighestDigitsを2だったら、最高の2桁で切り上げ・切り下げをする。
setRoundOutChartXMinMax(boolean pRound): 最高の1桁でグラフのX数値の最高数値を切り上げて、最低数値を切り下げるのを有効・無効にする。
setRoundOutChartXMinMax(boolean pRound, int pHighestDigits): 最高の何桁でグラフのX数値の最高数値を切り上げて、最低数値を切り下げるのを有効・無効にする。例えばpHighestDigitsを2だったら、最高の2桁で切り上げ・切り下げをする。
setBorderWidth(float pWidth): グラフの縁の太さを設定する。
setBorderColor(int pColor): グラフの縁の色を設定する。
setXLabelColor(int pColor): X軸のラベルの色を設定する。
setYLabelColor(int pColor): Y軸のラベルの色を設定する。
setXValueLabelsColor(int pColor): X軸の値のラベルの色を設定する。
setYValueLabelsColor(int pColor): Y軸の値のラベルの色を設定する。
setXLabel(String pLabel): X軸のラベルを設定する。
setYLabel(String pLabel): Y軸のラベルを設定する。
setDecimalFormatChartX(DecimalFormat pDecimalFormat): グラフのX数値の表示のDecimalFormatを設定する。
setDecimalFormatChartY(DecimalFormat pDecimalFormat): グラフのY数値の表示のDecimalFormatを設定する。
setDecimalFormatPopupX(DecimalFormat pDecimalFormat): ポップアップのX数値の表示のDecimalFormatを設定する。
setDecimalFormatPopupY(DecimalFormat pDecimalFormat): ポップアップのY数値の表示のDecimalFormatを設定する。
setUseNumberAbbreviationSuffixXValueChart(boolean pUseSuffix): グラフで表示してるX数値の省略を有効・無効にする。
setUseNumberAbbreviationSuffixYValueChart(boolean pUseSuffix): グラフで表示してるY数値の省略を有効・無効にする。
setUseNumberAbbreviationSuffixXValuePopup(boolean pUseSuffix): ポップアップで表示してるX数値の省略を有効・無効にする。
setUseNumberAbbreviationSuffixYValuePopup(boolean pUseSuffix): ポップアップで表示してるY数値の省略を有効・無効にする。
setNumberSuffixes(String pSuffixes): 数値を省略する場合、数値の後ろに付く文字を設定する。デフォルト設定は"kmbt"の"thousand","million","billion","trillion"だ。
setNumberGroupSplit(int pGroupSplit): 数値を省略する場合、数値を何桁に分けるか設定する。デフォルト設定は"kmbt"の後ろ付けに従う3だ。例えば、3なら3桁ごと分けて、数値は350000なら350kになります。
setUseAnimation(boolean pUseAnimation): アニメーションを有効・無効にする。pUseAnimationはtrueならアニメーションを有効に設定する。アニメーションは左から右へ線を描くことです。このメソッドを使わない場合、アニメーションは無効になる。
setAnimationTime(float pAnimationTime): アニメーションの時間(ミリ秒)を設定する。
reanimate(): アニメーションを再生する。
setOnChartTouchedListener(OnChartTouchedListener pOnChartTouchedListener): OnChartTouchedListenerインタフェースのonChartTouchedコールバックのリスナーを設定する。
LineChartのインタフェース
OnChartTouchedListener{ onChartTouched(List<Coordinate<Integer, Integer>> pTouchedPoints, LineChart pLineChart, float pTouchedX, float pTouchedY); }: onChartTouchedにはsetOnChartTouchedListenerがリスナーを設定するのが必要で、LineChartのビューをタップする時(ユーザーが指を離す時)onChartTouchedが呼び出される。
XMLのレイアウトに棒グラスを入れるには「sanderson.androidcharts.BarChart.BarChart」というのを使います。例えば、mylayoutというレイアウトに親ビューの高さ×300dpの棒グラフを入れたいなら以下のように書きます。
<sdanderson.androidcharts.BarChart.BarChart
android:id="@+id/barchart"
android:layout_width="fill_parent"
android:layout_height="300dp" />
レイアウトに棒グラフを入れたら、ソースコードでは以下のように棒グラフと対応できます。
import sdanderson.androidcharts.BarChart.BarChart;
... 他のコード ...
View v = inflater.inflate(R.layout.mylayout, container, false);
BarChart b1 = (BarChart) v.findViewById(R.id.barchart);
b1.addBar("Bar1", -5450000f, Color.RED);
b1.addBar("Bar2", -2550000f, Color.YELLOW);
b1.addBar("Bar3", -1560000f, Color.BLUE);
b1.addBar("Bar4", 3430000f, Color.GREEN);
b1.addBar("Bar5", 1570000f, Color.MAGENTA);
b1.setChartTitle("Bar Chart");
b1.setXLabel("Some Stuff");
b1.setYLabel("Random Numbers");
BarChartのメソッド(戻り値があるメソッドしか戻り値の型が書いてない)
addBar(String pLabel, float pValue, int pColor): 棒をグラフに追加する。pLabelは追加する棒のラベルで、pValueは値で、pColorはその棒の色だ。
BarChartItem getBarChartItemByColor(int pColor): 色でBarChartItemを取得する。
setAllBarBorderWidths(float pWidth): グラフの棒の縁の太さを設定する。
setAllBarBorderColors(int pColor): グラフの棒の縁の色を設定する。
setChartTitle(String pTitle): グラフのタイトルを設定する。
setChartTitleColor(int pColor): グラフのタイトルの色を設定する。
setChartBackgroundColor(int pColor): グラフの背景の色を設定する。
setGridlineWidth(float pGridlineWidth): 目盛線の太さを設定する。
setNumOfGridlines(int pNumOfGridlines): Y=0の線の上にも下にも目盛線の数を設定する。例えば、2に設定したら、Y=0の線の上にも下にも2目盛線が書く。
setChartGridlineColor(int pColor): 目盛線の色を設定する。
setZeroLineWidth(float pWidth): Y=0の線の太さを設定する。
setZeroLineColor(int pColor): Y=0の線の色を設定する。
setRoundOutChartYMinMax(boolean pRound): 最高の1桁でグラフのY数値の最高数値を切り上げて、最低数値を切り下げるのを有効・無効にする。
setRoundOutChartYMinMax(boolean pRound, int pHighestDigits): 最高の何桁でグラフのY数値の最高数値を切り上げて、最低数値を切り下げるのを有効・無効にする。例えばpHighestDigitsを2だったら、最高の2桁で切り上げ・切り下げをする。
setBorderWidth(float pWidth): グラフの縁の太さを設定する。
setBorderColor(int pColor): グラフの縁の色を設定する。
setXLabelColor(int pColor): X軸のラベルの色を設定する。
setYLabelColor(int pColor): Y軸のラベルの色を設定する。
setYValueLabelsColor(int pColor): Y軸の値のラベルの色を設定する。
setXLabel(String pLabel): X軸のラベルを設定する。
setYLabel(String pLabel): Y軸のラベルを設定する。
setDecimalFormatChartY(DecimalFormat pDecimalFormat): グラフのY数値の表示のDecimalFormatを設定する。
setDecimalFormatPopupY(DecimalFormat pDecimalFormat): ポップアップのY数値の表示のDecimalFormatを設定する。
setUseNumberAbbreviationSuffixYValueChart(boolean pUseSuffix): グラフで表示してるY数値の省略を有効・無効にする。
setUseNumberAbbreviationSuffixYValuePopup(boolean pUseSuffix): ポップアップで表示してるY数値の省略を有効・無効にする。
setNumberSuffixes(String pSuffixes): 数値を省略する場合、数値の後ろに付く文字を設定する。デフォルト設定は"kmbt"の"thousand","million","billion","trillion"だ。
setNumberGroupSplit(int pGroupSplit): 数値を省略する場合、数値を何桁に分けるか設定する。デフォルト設定は"kmbt"の後ろ付けに従う3だ。例えば、3なら3桁ごと分けて、数値は350000なら350kになります。
setUseAnimation(boolean pUseAnimation): アニメーションを有効・無効にする。pUseAnimationはtrueならアニメーションを有効に設定する。アニメーションは左から右へ線を描くことです。このメソッドを使わない場合、アニメーションは無効になる。
setAnimationTime(float pAnimationTime): アニメーションの時間(ミリ秒)を設定する。
reanimate(): アニメーションを再生する。
setOnBarTouchedListener(OnBarTouchedListener pOnBarTouchedListener): OnBarTouchedListenerインタフェースのonBarTouchedコールバックのリスナーを設定する。
BarChartのインタフェース
OnBarTouchedListener { onBarTouched(BarChartItem pBar, BarChart pPieChart, float pTouchedX, float pTouchedY); }: onBarTouchedにはsetOnBarTouchedListenerがリスナーを設定するのが必要で、BarChartのビューをタップする時(ユーザーが指を離す時)onBarTouchedが呼び出される。