Updated Answer (MPAndroidChart v3.0.1)
Będąc tak powszechnie używanych funkcji, v3.0.1 biblioteki dodaje klasę IndexAxisValueFormatter
dokładnie do tego celu, więc jest to tylko jedna linia kodu teraz:
mBarChart.getXAxis().setValueFormatter(new IndexAxisValueFormatter(labels));
protip z oryginalnego odpowiedź poniżej stosuje się nadal.
Original Odpowiedź (MPAndroidChart v3.0.0)
Z v3.0.0 biblioteki nie ma bezpośredni sposób ustawiania etykiety dla barów, ale jest to dość przyzwoity obejście, który wykorzystuje interfejs ValueFormatter
.
Tworzenie nowego formatowania takiego:
public class LabelFormatter implements IAxisValueFormatter {
private final String[] mLabels;
public LabelFormatter(String[] labels) {
mLabels = labels;
}
@Override
public String getFormattedValue(float value, AxisBase axis) {
return mLabels[(int) value];
}
}
następnie ustawić tę formatowania do swojej osi x (zakładając, że masz już utworzony String[]
zawierający etykiety):
mBarChart.getXAxis().setValueFormatter(new LabelFormatter(labels));
protip : Jeśli chcesz usunąć dodatkowe etykiety pojawiające się podczas powiększania do wykresu słupkowego, możesz użyć funkcji granularity:
XAxis xAxis = mBarChart.getXAxis();
xAxis.setGranularity(1f);
xAxis.setGranularityEnabled(true);
można podać mi jakieś przyzwoite kodu źródłowego na temat sposobu, aby pokazać wielokrotne wykres słupkowy z etykietami na OśX –
ciebie protip zapisanych mój dzień. Dzięki! @ TR4Android –
Dziękujemy za bieżące aktualizowanie odpowiedzi. To pytanie jest bardzo często zadawane, więc powinniśmy przekierować duplikaty tutaj. –