在Android中如何使用achartengine在饼图中显示百分比 [英] In Android how to display percentage in pie chart with achartengine

查看:102
本文介绍了在Android中如何使用achartengine在饼图中显示百分比的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用achartengine显示饼图,并且我已经尝试过:-

I am using achartengine for displaying the pie chart and I have tried this :--

public class AChartEnginePieChartActivity extends Activity {   

private static int[] COLORS = new int[] { Color.GREEN, Color.BLUE,Color.MAGENTA, Color.CYAN };  

private static double[] VALUES = new double[] { 10, 11, 12, 13 };  

private static String[] NAME_LIST = new String[] { "A", "B", "C", "D" };  

private CategorySeries mSeries = new CategorySeries("");  

private DefaultRenderer mRenderer = new DefaultRenderer();  

private GraphicalView mChartView;  

@Override  
protected void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState);  
setContentView(R.layout.main);  

mRenderer.setApplyBackgroundColor(true);  
mRenderer.setBackgroundColor(Color.argb(100, 50, 50, 50));  
mRenderer.setChartTitleTextSize(20);  
mRenderer.setLabelsTextSize(15);  
mRenderer.setLegendTextSize(15);  
mRenderer.setMargins(new int[] { 20, 30, 15, 0 });  
mRenderer.setZoomButtonsVisible(true);  
mRenderer.setStartAngle(90);  

for (int i = 0; i < VALUES.length; i++) {  
mSeries.add(NAME_LIST[i] + " " + VALUES[i], VALUES[i]);  
SimpleSeriesRenderer renderer = new SimpleSeriesRenderer();  
renderer.setColor(COLORS[(mSeries.getItemCount() - 1) % COLORS.length]);  
mRenderer.addSeriesRenderer(renderer);  
}  

if (mChartView != null) {  
mChartView.repaint();  
}  

}  


@SuppressLint("ShowToast")
@Override  
protected void onResume() {  
super.onResume();  
if (mChartView == null) {  
LinearLayout layout = (LinearLayout) findViewById(R.id.chart);  
mChartView = ChartFactory.getPieChartView(this, mSeries, mRenderer);  
mRenderer.setClickEnabled(true);  
mRenderer.setSelectableBuffer(10);  

mChartView.setOnClickListener(new View.OnClickListener() {  
@Override  
public void onClick(View v) {  
SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();  

if (seriesSelection == null) {  
Toast.makeText(AChartEnginePieChartActivity.this,"No chart element was clicked",Toast.LENGTH_SHORT).show();  
} else {  
Toast.makeText(AChartEnginePieChartActivity.this,"Chart element data point index "+ (seriesSelection.getPointIndex()+1) + " was clicked" + " point value="+ seriesSelection.getValue(), Toast.LENGTH_SHORT).show();  
}  
}  
});  

mChartView.setOnLongClickListener(new View.OnLongClickListener() {  
@SuppressLint("ShowToast")
@Override  
public boolean onLongClick(View v) {  
SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();  
if (seriesSelection == null) {  
Toast.makeText(AChartEnginePieChartActivity.this,"No chart element was long pressed", Toast.LENGTH_SHORT);  
return false;   
} else {  
Toast.makeText(AChartEnginePieChartActivity.this,"Chart element data point index "+ seriesSelection.getPointIndex()+ " was long pressed",Toast.LENGTH_SHORT);  
return true;         
}  
}  
});  
layout.addView(mChartView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));  
}  
else {  
mChartView.repaint();  
}  
}  
}

此处显示饼图

Here its displaying the pie chart Like this picture..But I want the value as percentage.. like A(10%) B(11%) in the picture.. How can I do that????? please suggest me

推荐答案

尝试下面的代码希望它将有助于解决您的问题:-

Try below code hope it will help to resolve your problem:-

mSeries.add(NAME_LIST[i] + "(" + VALUES[i]+"%)", VALUES[i]);  

这篇关于在Android中如何使用achartengine在饼图中显示百分比的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆