Android – los temas del gráfico de barras achartengine
Yo uso achartengine para dibujar mi gráfico en una aplicación de Android y tienen 2 problemas con gráfico de barras.
1: los valores en la barra superior no alinean el centro
- Mostrar un pequeño popup en el punto donde el usuario hace clic en el gráfico (achartengine)
- Cómo dibujar gráfico de línea con diferentes colores en línea única
- Gráfico de barras usando achartengine
- El gráfico de barras no funciona en AchartEngine
- Gráfico de barras con eje x textual - achartengine
2: anchura de la barra demasiado pequeña cuando sólo 1 barra en la tabla
Aquí mi código para configurar el gráfico
GraphicalView mChart; // Creating an XYSeries for Income XYSeries incomeSeries = new XYSeries("\n" + note); // Adding data to Series // Arraylist<String> althongtin include input data (some numbers character, eg: {125, 4356, 50000}) for(int i=0;i<althongtin.size();i++){ incomeSeries.add(i, Double.parseDouble(althongtin.get(i))); } // Creating a dataset to hold each series XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); // Adding Income Series to the dataset dataset.addSeries(incomeSeries); XYSeriesRenderer incomeRenderer = new XYSeriesRenderer(); incomeRenderer.setColor(color); incomeRenderer.setChartValuesTextSize(20); incomeRenderer.setFillPoints(true); incomeRenderer.setDisplayChartValues(true); incomeRenderer.setChartValuesTextAlign(Paint.Align.CENTER); XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer(); multiRenderer.setXLabels(0); multiRenderer.setChartTitle(ten); multiRenderer.setXTitle(cotx); multiRenderer.setYTitle(coty); multiRenderer.setYLabelsAlign(Paint.Align.LEFT); multiRenderer.setBarSpacing(1); multiRenderer.setBarWidth(50); multiRenderer.setYAxisMin(0); multiRenderer.setYAxisMax(max + (max/10)); multiRenderer.setXAxisMin(-1); multiRenderer.setXAxisMax(althongtin.size() + 1); multiRenderer.setLabelsTextSize(15); multiRenderer.setLegendTextSize(20); multiRenderer.setAxisTitleTextSize(20); multiRenderer.setChartTitleTextSize(20); multiRenderer.setLabelsColor(Color.BLACK); multiRenderer.setAxesColor(Color.BLACK); multiRenderer.setApplyBackgroundColor(true); multiRenderer.setBackgroundColor(Color.TRANSPARENT); multiRenderer.setMarginsColor(Color.argb(0,255,255,255)); multiRenderer.setXLabelsColor(Color.BLACK); multiRenderer.setYLabelsColor(0, Color.BLACK); multiRenderer.addSeriesRenderer(incomeRenderer); String[] types = new String[] {BarChart.TYPE}; mChart = (GraphicalView) ChartFactory.getCombinedXYChartView(getBaseContext(), dataset, multiRenderer, types); multiRenderer.setClickEnabled(true); multiRenderer.setSelectableBuffer(10); chartLayout.addView(mChart);
Gracias.
Actualizado: el segundo problema se soluciona mediante la actualización a achartengine 1.2.0. Gracias, Dan.
- Android AChartEngine - No se puede cambiar textColor de las etiquetas del eje Y
- ¿Se pueden usar múltiples cartas de barras apiladas con Achartengine?
- Cómo mostrar la leyenda en el lado derecho de piechart en achartengine android
- Color del gradiente para el gráfico de línea dentro de AchartEngine
- Android - cambiar el color del fondo del gráfico de achartengine
- onCreateOptionsMenu () se llama dos veces al cambiar las pestañas y OnOptionItemSelected () no se llama
- java.lang.RuntimeException: No se puede instanciar actividad ComponentInfo ... java.lang.ClassNotFoundException
- Gráfico sobre las líneas de cuadrícula en AChartEngine Gráfico de barras
Para el primer problema, es posible que desee actualizar a la construcción de 1,2.0 por noche.
Para el segundo, hay: renderer.setBarWidth(widthInPixels);
Ya que estas son las soluciones para establecer el ancho de la barra cuando hay un solo elemento en la serie.
¿Por qué no usar ChartFactory.getBarChartView
lugar de ChartFactory.getCombinedXYChartIntent
?
Creo que va a arreglar el problema ur.