2011-07-05 83 views
5

我開發了一個android應用程序來顯示餅圖。我用achartengine庫來做到這一點。 通過下面的代碼,我得到了帶有3個部分的餅圖輸出,分別標記爲categorySeries中提到的部分。我想在餅圖上顯示百分比值。我怎樣才能做到這一點?在餅圖上顯示數字

public static final GraphicalView getPieChartView(Context context, 
      CategorySeries dataset, DefaultRenderer renderer) { 
     checkParameters(dataset, renderer); 
     PieChart chart = new PieChart(dataset, renderer); 

     return new GraphicalView(context, chart); 
    } 

    private static void checkParameters(CategorySeries dataset, 
      DefaultRenderer renderer) { 
     if (dataset == null 
      || renderer == null 
      || dataset.getItemCount() != renderer 
       .getSeriesRendererCount()) { 
      throw new IllegalArgumentException(
        "Dataset and renderer should be not null and the dataset number of items should be equal to the number of series renderers"); 
     } 
    }  

,這是我的onCreate方法

Bundle bundle = getIntent().getExtras(); 
int highc = bundle.getInt("high"); 
int lowc = bundle.getInt("low"); 
int medc = bundle.getInt("medium"); 



RelativeLayout layout = (RelativeLayout) findViewById(R.id.relativestatsLayout); 
TextView message = (TextView) findViewById(R.id.statText); 
message.setText("\n\n\tTickets Summary"); 
message.setGravity(50); 
//layout.addView(message); 
//setContentView(message); 


int[] colors = new int[] { Color.rgb(255, 0, 0),Color.rgb(220, 51,51), Color.rgb(255, 191, 0) }; 
DefaultRenderer renderer = buildCategoryRenderer(colors); 

CategorySeries categorySeries = new CategorySeries("Tickets Chart"); 
categorySeries.getTitle(); 
categorySeries.add("critical", highc); 
categorySeries.add("major ", medc); 
categorySeries.add("minor ", lowc); 



layout.addView(getPieChartView(this, categorySeries, renderer)); 
} 

protected DefaultRenderer buildCategoryRenderer(int[] colors) { 
    DefaultRenderer renderer = new DefaultRenderer(); 
    for (int color : colors) { 
     SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
     r.setColor(color); 

     renderer.addSeriesRenderer(r); 
    } 
    return renderer; 
} 
+0

我得到作爲categorySeries提到的餅圖輸出與標有3個部分,我想以顯示餅圖上的百分比。 – TechnocraT

+0

任何人都可以至少暗示Android的圖表API可能是可能的。 – TechnocraT

回答

2

它使用achartengine是可能的。我面臨同樣的問題,現在找到了答案。 使用1.1.0-rc2版本的achart引擎。您可以在這裏下載它:http://www.achartengine.org/download/

本教程(http://wptrafficanalyzer.in/blog/android-drawing-pie-chart-using-achartengine/)可幫助您使用achartengine創建餅圖。

此行添加到代碼中的餅圖

defaultRenderer.setDisplayValues(true); 

參考在顯示分佈的%:How to set different values for Legend and Labels in piechart While I am using Chart Engine in android