GraphView es una gran biblioteca para usar, también me resulta más fácil. El primer paso para hacer esto sería agregar una variable de cadena en la clase GraphViewData dentro de GraphView.java. Así como:
static public class GraphViewData {
public final double valueX;
public final double valueY;
public final String valueDate;
public GraphViewData(double valueX, double valueY,String valueDate) {
super();
this.valueX = valueX;
this.valueY = valueY;
this.valueDate = valueDate;
}
}
Cuando se crea el objeto GraphViewData al crear un gráfico GraphView, tendrá que añadir los datos de la fecha en forma de cadena (junto con el X e Y).
Digamos que tiene 80 puntos de datos en su gráfico (índice 0 - 79). Hay un método dentro de GraphView que es responsable de generar y devolver las etiquetas horizontales, creo que se llama generateHorLabels. En lugar de simplemente devolver el Valor X (0-79), use el valor X para obtener la Cadena del objeto GraphData.
En el código que tiene ahora, debe tener lo siguiente en un bucle para
labels[i] = formatLabel(min + ((max-min)*i/numLabels), true);
en lugar de lo anterior, se podría hacer algo como esto.
Double temp = Double.valueOf(formatLabel(min + ((max-min)*i/numLabels), true));
int rounded =(int)Math.round(temp);
labels[i] = values[rounded].valueDate;
Hope this help!
Thnx por su respuesta .. Voy a probar esto hoy, y ver si puedo hacerlo hoy. Probablemente acepte la respuesta cuando haya terminado – Luciano
no hay problema, espero que lo haya conseguido. – wdziemia
Obtuviste trabajando con muchas cosas personalizadas, como ventanas emergentes al hacer clic en un punto e interfaz :) – Luciano