java - resueltos - ejemplos de diagramas circulares para niños
mostrar números en el gráfico circular (2)
Desarrollé una aplicación de Android para mostrar un gráfico circular. He usado 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?
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;
}
Es posible usar achartengine. He enfrentado el mismo problema y encontré la respuesta ahora. Use 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/ ) te ayuda a crear un gráfico circular usando achartengine.
Agregue esta línea a su código para mostrar el% de distribución en el gráfico circular
defaultRenderer.setDisplayValues(true);
No estoy seguro de si todavía tienes 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.