Ho creato un BarChart utilizzando MPAndroidChart e sto inserendo i dati dinamicamente. Ciò significa che ho bisogno anche del mio asse Y per essere determinato dinamicamente. Tutti i miei dati sono rappresentati come numeri interi, tuttavia l'asse Y a volte visualizza la legenda come valori decimali con 1 punto decimale.Force BarChart Le etichette dell'asse Y devono essere numeri interi?
Ho tentato di utilizzare un ValueFormatter per arrotondare i valori, ma il problema è che a volte i valori Y non sono in posizioni di valore intero (ad esempio 0,8,1,6,2,4, ecc.). Pertanto, se modifico solo questi in modo che siano interi, non saranno nella posizione corretta.
Esiste comunque la possibilità di forzare il BarChart a visualizzare solo valori in posizioni Integer? Va bene se salta un po ', anzi lo voglio quando i valori diventano grandi.
Modifica: quando ho detto che gli interi non sono nelle posizioni giuste, intendevo dire che una volta modificato ciò che ciascuna etichetta mostra non sono "corretti". Nel mio esempio ho 5 barre che mostrano i valori 3,4,2,3,2. La prima immagine è il 'default', il secondo è l'immagine una volta che ho modificato il formattatore valore utilizzando:
myBarChart.getYLabels().setFormatter(new ValueFormatter()
{
@Override
public String getFormattedValue(float v)
{
return ((int) v)+"";
}
});
Come si può vedere da queste immagini, i miei valori interi sono non dove dovrebbero essere (e ci sono due "2"). In questo esempio, tranne che per visualizzare i valori 0,1,2,3,4. Se ho molti più dati spero che sarebbe abbastanza intelligente per mostrare solo i valori per cui ho spazio, quindi per gli esempi se i dati contengono valori di 0-50 mostrerebbero qualcosa come 0,10,20,30 , 40,50 o eventualmente 0,15,30,45, ecc.
avete risolto il problema? Voglio lo stesso cambiamento, puoi aiutarmi per favore? – AAnkit
Non l'ho fatto, mi dispiace. Mi sono impegnato con altri progetti e ho appena finito di lasciarlo così com'è. Mi sono reso conto che per numeri interi più grandi questo problema non si presenta, ma al momento non c'è modo di farlo funzionare per i piccoli int. – Fozefy
Grazie .................... – AAnkit