2011-07-04 20 views
9

Me di cuenta de que los Xlabels de mi Timechart no están sincronizados con los valores de X- . Los puntos deben estar justo encima de las etiquetas. En el lado izquierdo , está bien, pero se desplaza hacia la derecha. No sé cómo resolver este lo que consigo: http://tinypic.com/r/2uqj905/7 Cómo debe ser como: http://www.achartengine.org/dimages/average_temperature.png Probé un gráfico de líneas o convertidos a la fecha una doble, pero que no tuvo ningún efecto . Cualquier ayuda sería agradable.achartengine x-axis etiquetas shift en comparación con los valores

cordiales, cristianos

Esto es parte de mi código:

XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles); 
    renderer.setPointSize(5.5f); 
    renderer.setZoomEnabled(false, false); 
    renderer.setMarginsColor(Color.parseColor("#00FF0000")); 
    renderer.setAxisTitleTextSize(16); 
    renderer.setYLabelsAlign(Align.RIGHT); 
    renderer.setLabelsTextSize(15); 
    renderer.setLegendTextSize(15); 
    renderer.setMargins(new int[] { 10, 65, 18, 10 }); 

    int length = renderer.getSeriesRendererCount(); 
    for (int i = 0; i < length; i++) { 
     XYSeriesRenderer seriesRenderer = (XYSeriesRenderer) renderer 
       .getSeriesRendererAt(i); 
     seriesRenderer.setFillPoints(true); 
     seriesRenderer.setLineWidth(4.0f); // dikte van lijn 
    } 

    MinMax minMax = determineMinMax(targetSteps, samples); 

    setChartSettings(renderer, context.getString(R.string.graph_title), 
      dateLabelOnScreenType(type), 
      context.getString(R.string.graph_y_axis), minMax.minX, 
      minMax.maxX, minY, maxY, Color.WHITE, 
      Color.BLACK); 
    renderer.setXLabels(7); 

    renderer.setYLabels(0); 
    renderer.setDisplayChartValues(false); 
    renderer.setShowGrid(true); 
    renderer.setPanEnabled(false, false); 


    // set the data 
    String[] titles = new String[] { 
      context.getString(R.string.graph_legend_target), 
      context.getString(R.string.graph_legend_actual) }; 
    XYMultipleSeriesDataset dataSet = buildDateDataset(titles, 
xSeriesList, 
      ySeriesList); 

    TimeChart chart = new TimeChart(dataSet, renderer); 
    chart.setDateFormat(dateFormatOnSampleType(type)); 
    GraphicalView gview = new GraphicalView(context, chart); 
+0

Parece que nos falta una gran parte del código que podría ser el problema. Primero determineMinMax (targetSteps, samples); No encuentro esto como parte de achartengine, así que supongo que es tuyo. ¿Estás 100% seguro de que funciona como se esperaba? Además, no puedo ver lo que targetSteps tiene por valor. De su imagen hay varias cosas raras, hay 6 dataPoints mostrados pero solo 5 etiquetas. Además, el punto de inicio de los dataPoints está desactivado en relación con el punto de inicio de las etiquetas. Supongo que tienes algún problema con que el span no sea el mismo para las etiquetas y los puntos de datos. – larlin

Respuesta

3
renderer.setYLabelsAlign(Align.RIGHT); 

cambiará a:

renderer.setYLabelsAlign(Align.CENTER); 
0

La solución a esto se añadió recientemente. Simplemente llame al:

renderer.setXRoundedLabels(false) 
Cuestiones relacionadas