アンドロイド・チャーツ

アンドロイド・チャーツは、簡単に使えるアンドロイドのアプリに入れるグラフのライブラリーです。現在は円グラフと折れ線グラフと棒グラフがあります。このライブラリーを更新したら、こっちにアップするけど、新しいバージョンをアップする時、古いバージョンを消します。誰かの役に立つといいと思っています!

スクリーンショット
SS1 SS2 SS3 SS4 SS5 SS6 SS7 SS8
ダウンロード
使い方

アンドロイド・チャーツを使うためには、まずは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);
    	
LineChartのメソッド(戻り値があるメソッドしか戻り値の型が書いてない)

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が呼び出される。