まず、英語が下手で初心者のメンバーで申し訳ありません。
AchartEngine を使用して円グラフに複数の色の値を表示したいと考えています。
値の色を変更できることがわかりました
dRenderer.setLabelsColor(Color.BLACK);
ただし、変更できるのは 1 色のみです。
下の写真は私が表示したいものです(異なる値の色の場合)
円グラフの値ごとに複数の色を表示したい。
以下は私のPieChartクラスです
public class PieGraphTest {
private double cash, creditCard, debitCard;
public GraphicalView getView(Context context,int cash, int creditCard, int debitCard, int all){
// Make it to be percentage to represent in the graph
this.cash = (cash != 0) ? getPercentage(cash,all): 0;
this.creditCard = (creditCard != 0) ? getPercentage(creditCard,all): 0;
this.debitCard = (debitCard != 0) ? getPercentage(debitCard,all): 0;
//data
double[] values = {this.cash,this.creditCard,this.debitCard}; // 3 items
CategorySeries series = new CategorySeries("Pie Graph");
int count = 0;
String prefix = "";
for(double value : values){
if(count == 0) prefix = " CASH ";
if(count == 1) prefix = " CREDIT CARD ";
if(count == 2) prefix = " DEBIT CARD ";
series.add(prefix+value+"% ", value);
count++;
}
int[] colors = new int[] {Color.parseColor("#FFCBA4"), Color.parseColor("#C74646"), Color.parseColor("#A3FFCB")};
DefaultRenderer dRenderer = new DefaultRenderer();
for(int color : colors){
SimpleSeriesRenderer sRenderer = new SimpleSeriesRenderer();
sRenderer.setColor(color);
dRenderer.addSeriesRenderer(sRenderer);
}
dRenderer.setChartTitle("Pie Chart Demo");
dRenderer.setChartTitleTextSize(27);
dRenderer.setZoomButtonsVisible(false);
dRenderer.setLabelsTextSize(20); //value size
dRenderer.setLabelsColor(Color.BLACK);
dRenderer.setLegendTextSize(18);
dRenderer.setPanEnabled(false);
return ChartFactory.getPieChartView(context, series, dRenderer);
}// End GraphicalView
private double getPercentage(int data, int allData){
double temp;
temp = (data * 100)/allData;
return temp;
}
}// End PieGraphTest
どうもありがとう。