2011-07-05 17 views
5

He desarrollado una aplicación para Android para mostrar un gráfico circular. He utilizado la biblioteca achartengine para hacer esto. Con este código a continuación, obtengo el resultado del gráfico circular con 3 porciones etiquetadas como se menciona en la categoríaSeries. Quiero mostrar los valores de porcentaje en el diagrama circular. ¿Cómo puedo hacer esto?mostrar números en el gráfico circular

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

y este es mi método 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

consigo la salida de gráfico circular con 3 porciones labled como se menciona en categorySeries, quiero para mostrar los porcentajes en el gráfico circular ... – TechnocraT

+0

alguien puede al menos sugerir qué aplicación de Android para gráficos podría ser posible. – TechnocraT

Respuesta

1

No estoy seguro de si todavía tiene este problema. Pero si su gráfico circular es bastante simple, debería considerar dibujarlo usted mismo en lugar de usar una biblioteca para ello. Esto podría ayudar un poco.

https://github.com/blessenm/PieChartDemo

2

Es posible utilizar achartengine. He enfrentado el mismo problema y encontré la respuesta ahora. Utilice la versión 1.1.0-rc2 del motor achart. Puede descargarlo aquí: http://www.achartengine.org/download/

Este tutorial (http://wptrafficanalyzer.in/blog/android-drawing-pie-chart-using-achartengine/) le ayuda a crear un gráfico circular usando achartengine.

Añadir esta línea a su código para mostrar el% de la distribución en el gráfico de sectores

defaultRenderer.setDisplayValues(true); 

Referencia: How to set different values for Legend and Labels in piechart While I am using Chart Engine in android

Cuestiones relacionadas