2016-05-09 20 views
5

Mam pewne problemy z etykietami RadarChart. W szczególności, jeśli używam długich tekstów (na przykład 15-20 znaków), a dostępna przestrzeń nie jest zbyt duża, wykres zostanie zwinięty, a etykiety zostaną umieszczone wewnątrz zwiniętego wykresu (ale jest wyraźnie więcej miejsca).MPAndroidChart RadarChart sam się zapada

Próbowałem użyć ValueFormatter dla osi etykiety, która ucina etykiety, jeśli są dłuższe niż 5 znaków, ale jak widzę, kalkulacja rozmiaru wykresu opiera się na pełnym tekście etykiety, ponieważ wykres został zwinięty w taki sam sposób, jak opisane wcześniej.

XAxis xAxis = radarChart.getXAxis(); 
xAxis.setValueFormatter(new XAxisValueFormatter() { 
    @Override 
    public String getXValue(String original, int index, ViewPortHandler viewPortHandler) { 
     return original.length() > 5 ? original.substring(0, 5) + "…" : original; 
    } 
}); 

Oto kilka zdjęć w celu wyjaśnienia problemu. Wykresy są wyświetlane wewnątrz CardView s. Jak widać, na wszystkich stronach pozostało dużo miejsca. Pierwsze dwa obrazy są robione zestawem ValueFormatter, dwa ostatnie są bez niego.

Description

Description

Description

Description

+0

nie można rozwiązać tego? –

+0

Nie, jeszcze nie; Spróbuję zaktualizować wersję lib, od tego czasu pojawiły się ważne aktualizacje. – Sleeper9

Odpowiedz

0

Prawdopodobnie masz jakieś błędy, oto kilka rozwiązań:

1) Ustaw danych radarowych Po ustawieniu RadarChart parametry następnie wywołaj invalidate();

2) ustawiona AxisMinimum i AxisMaximum w radarChart.getXAxis() i radarChart.getYAxis()

3) połączeń yAxis.calculate(min,max) po etapie 2;

4) W razie potrzeby stosowanie radarChart.setExtraOffsets(?,?,?,?)

Używam com.github.PhilJay: MPAndroidChart: v3.0.1