2011-07-05 32 views
5

Bir pasta grafiği görüntülemek için bir android uygulama geliştirdim. Bunu yapmak için achartengine kitaplığını kullandım. Aşağıdaki kod ile pasta grafik çıktısını, CategorySeries'te belirtildiği gibi etiketlenmiş 3 bölümle elde ediyorum. Pasta diyagramındaki yüzde değerlerini göstermek istiyorum. Bunu nasıl yapabilirim? Hâlâ bu sorunu varsaPasta grafiğinde ekran numaraları

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"); 
     } 
    }  

ve bu benim onCreate yöntem

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

i istiyorum:

defaultRenderer.setDisplayValues(true); 

Referans Pasta grafikte dağılımının% gösterilecek kodunuzu bu satırı ekleyin pasta grafikte yüzdeleri görüntülemek için .. – TechnocraT

+0

android bu ating api mümkün olabilecek en azından kim önerebilirsiniz. – TechnocraT

cevap

2

Bu achartengine kullanarak mümkündür. Aynı problemle karşılaştım ve cevabı şimdi buldum. Achart motorunun 1.1.0-rc2 sürümünü kullanın. Buradan indirebilirsiniz: http://www.achartengine.org/download/

Bu eğitim (http://wptrafficanalyzer.in/blog/android-drawing-pie-chart-using-achartengine/), achartengine kullanarak pasta grafik oluşturmanıza yardımcı olur. i etiketli 3 porsiyon ile pasta grafik çıktısı categorySeries belirtildiği gibi olsun How to set different values for Legend and Labels in piechart While I am using Chart Engine in android