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
-1
A
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
Überprüfen Sie meine Antwort. – Dhruv