2014-11-12 19 views
20

2 Domande sullo MPAndroidChart library. Tutti i miei yvalue sono interi, ma visualizzati come decimali. Come posso visualizzarli come numeri interi (senza cifre)? Come posso evitare che gli ylabel vengano visualizzati anche come decimali? So che esiste un setFormatter per gli yvalues, ma non capisco come usare ...Come formattare i valori all'interno di MPAndroidChart?

+0

Hai risolto? Voglio dire ... cosa hai inserito nel metodo getFormattedValue() dell'interfaccia ValueFormatter? – gumuruh

risposta

29

Dai un'occhiata all'interfaccia ValueFormatter fornita dalla libreria.

Con questa interfaccia, è possibile formattare in modo personalizzato tutti i valori visualizzati nel grafico (anche etichette y). Crea semplicemente la tua classe che implementa l'interfaccia e restituisci tutto quello che vuoi che venga visualizzato.

Usage:

chart.setValueFormatter(new YourValueFormatter()); 
YLabels yl = chart.getYLabels(); 
yl.setFormatter(new YourValueFormatter()); 

UPDATE (per le versioni 2.0.0+ di questo library):

Ora, un ValueFormatter può essere impostato per ogni DataSet separatamente o la stesso ValueFormatter può essere impostato per l'intero oggetto dati contenente tutti DataSets. Inoltre, la classe YLabels è ora denominata YAxis.

Esempio:

// set for whole data object (individual DataSets also possible) 
LineData data = new LineData(...); 
data.setValueFormatter(new YourValueFormatter()); 

// YLabels are now called YAxis 
YAxis yAxis = mChart.getAxisLeft(); // get the left or right axis 
yAxis.setValueFormatter(new YourAxisValueFormatter()); 

UPDATE (per le versioni 3.0.0+ di questo library):

Le interfacce per la formattazione sono stati rinominati e ampliato nel loro funzionalità. Ora è possibile utilizzare IAxisValueFormatter per formattare i valori sia di XAxis sia di YAxis.

Collegamento allo IValueFormatter documentation.

Collegamento allo IAxisValueFormatter documentation.

+0

Aahhhh, ora capisco. Soluzione molto bella e semplice! – Dennis

+0

Phil, dal momento che quando YLabels supporta il metodo setValueFormatter()? Sto cercando di fare lo stesso, ma non esiste un metodo del genere ... (Ho bisogno del LargeValueFormatter()) per il mio caso, e non sembra funzionare se imposto il LargeValueFormatter(). al grafico stesso. – Mike

+0

Stai usando l'ultima versione della libreria (1.7.4)? https://github.com/PhilJay/MPAndroidChart/releases –

Problemi correlati