Cómo establecer el valor en la etiqueta del eje x en achartengine
En realidad en mi aplicación he creado un gráfico utilizando achartEngine
. En estos en el eje x inicialmente estoy mostrando el valor de 1 – 31. Ahora en lugar de mostrar esto es posible mostrar el valor como … y así sucesivamente Al último día mes actual y cuando alcanza el último día del mes actual es decir 31-03-2012 la exhibición del valor después de que debe ser 1-04-2012 2-04-2012 … y así sucesivamente. El código que he usado mientras se muestra el valor como 1 2 3 4 5 … se da a continuación .. que alguien me ayude a resolver esto.
Código para el gráfico
renderer = new XYMultipleSeriesRenderer(2); int length = colors.length; for (int i = 0; i < length; i++) { XYSeriesRenderer r = new XYSeriesRenderer(); r.setColor(colors[i]); r.setPointStyle(styles[i]); renderer.addSeriesRenderer(r); } int rendererLength = renderer.getSeriesRendererCount(); for (int i = 0; i < rendererLength; i++) { ((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true); } renderer.setAxisTitleTextSize(12); renderer.setChartTitleTextSize(12); renderer.setLabelsTextSize(10); renderer.setLegendTextSize(12); renderer.setPointSize(5f); renderer.setApplyBackgroundColor(true); renderer.setBackgroundColor(Color.parseColor("#F5F5F5")); renderer.setMarginsColor(Color.parseColor("#F5F5F5")); renderer.setChartTitle("Weight / Temperature"); renderer.setXLabels(20); renderer.setXTitle(sdFormatter.format(currentDate)); renderer.setXAxisMin(1); renderer.setXAxisMax(nMaxDay); renderer.setXLabelsAlign(Align.CENTER); renderer.setYLabels(10); renderer.setYTitle("Weight", 0); renderer.setYTitle("Temperature", 1); renderer.setYAxisMin(10, 0); renderer.setYAxisMax(90, 0); renderer.setYAxisMin(10, 1); renderer.setYAxisMax(90, 1); renderer.setYAxisAlign(Align.LEFT, 0); renderer.setYAxisAlign(Align.RIGHT, 1); renderer.setYLabelsAlign(Align.LEFT, 0); renderer.setYLabelsAlign(Align.RIGHT, 1); renderer.setAxesColor(Color.LTGRAY); renderer.setLabelsColor(Color.parseColor("#5f5f5f")); renderer.setShowGrid(true); renderer.setGridColor(Color.GRAY);
Captura de pantalla
Utilice la clase AverageTemperatureChart de la Demo.
setChartSettings(renderer, "Average temperature", "Month", "Temperature", 0.5, 5.5, 0, 4, Color.LTGRAY, Color.LTGRAY);
Luego cambie de esta manera y verifique los cambios
for (int i = 0; i < titles.length; i++) { x.add(new double[] { 1, 2, 3, 4 }); }
Añadir cuatro sólo para la demostración
Y añadir la etiqueta a través de renderer.addTextLabel ();
ex:
String[] date={"1-3-2012","1-4-2012","1-5-2012","1-6-2012"}; for (int i = 0; i < date.length; i++) { renderer.addTextLabel(i+1, date[i]); } renderer.setXLabelsAlign(Align.CENTER); renderer.setXLabels(0);
Además de la respuesta de Abhi, si quieres agregar una cuadrícula para X Labels, entonces agrega la siguiente fila:
renderer.setShowCustomTextGrid(true);