首先,对不起我的英语不好和新手会员。
我想使用 AchartEngine 在 Piechart 中显示多种颜色的值。
我发现我可以通过
dRenderer.setLabelsColor(Color.BLACK);
但它只能改变一种颜色。
下图是我要显示的(不同值颜色)
我想为饼图的每个值显示多种颜色。
下面是我的 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
太感谢了。