2016-05-23 20 views
-1

Ich habe Liniendiagramm mit X-Achse ist Abstand (Milage). Ich füge einen Eintrag mit Index hinzu, der der Entfernung in Metern entspricht (1, 123, 10145 usw.). Gibt es eine Möglichkeit, X-Beschriftungen automatisch auf runde Indizes zu skalieren (10, 1000, 1km, 10km usw.)? Vielen Dank!MPAndroidChart XAxisLabels rund

+0

Überprüfen Sie meine Antwort. – Dhruv

Antwort

0

Ja, es ist möglich.
Erstellen Sie einen benutzerdefinierten Formatierer wie:

public class MyValueFormatter implements ValueFormatter { 

    private DecimalFormat mFormat; 

    public MyValueFormatter() { 
     mFormat = new DecimalFormat("###,###,##0.0"); // use one decimal 
    } 

    @Override 
    public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) { 
     // write your logic here 
     return mFormat.format(value) + " $"; // e.g. append a dollar-sign 
    } 
} 

Und gesetzt, dass formattor zum DataSet Objekt wie:

lineDataSet.setValueFormatter(new MyValueFormatter()); 

wie diese, können Sie Ihre eigene formattor Klasse machen und setzen Sie ihn auf DataSet .


können Sie this Link für weitere Informationen verweisen.

+0

Diese Methode zum Formatieren von bereits automatisch ausgewählten Labels. Ich möchte, dass nur Beschriftungen, die ganzen Zahlen entsprechen, automatisch gezeichnet wurden. Bei großen Zoom - Metern, bei moderatem Zoom - Hunderte von Metern, dann Kilometer usw. – Denis