GraphView è una grande libreria da utilizzare, la trovo anche la più semplice. Il primo passo per farlo sarebbe quello di aggiungere una variabile stringa nella classe GraphViewData in GraphView.java. In questo modo:
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;
}
}
Quando si crea l'oggetto GraphViewData quando si crea un GraphView grafico, è necessario aggiungere i dati di data in forma di stringa (insieme con la X e Y).
Diciamo che nel grafico sono presenti 80 punti dati (indice 0 - 79). C'è un metodo all'interno di GraphView che è responsabile della generazione e della restituzione delle etichette orizzontali, credo che sia chiamato generateHorLabels. Invece di restituire il valore X (0-79), utilizzare il valore X per ottenere la stringa dall'oggetto GraphData.
Nel codice che hai ora, dovrebbe avere la seguente in un per ciclo
labels[i] = formatLabel(min + ((max-min)*i/numLabels), true);
invece di quanto sopra, si potrebbe fare qualcosa di simile.
Double temp = Double.valueOf(formatLabel(min + ((max-min)*i/numLabels), true));
int rounded =(int)Math.round(temp);
labels[i] = values[rounded].valueDate;
Spero che questo ha aiutato!
Thnx per la risposta .. Ci proverò oggi e vedrò se riesco a farcela oggi. Probabilmente accetterò la risposta quando avrò finito lo – Luciano
senza problemi, spero che tu abbia funzionato. – wdziemia
Hai funzionato con un sacco di materiale personalizzato, come i popup quando fai clic su un punto e un'interfaccia :) – Luciano