2015-08-24 28 views
5

Używam biblioteki wspaniałych bibliotek iOS (https://github.com/danielgindi/ios-charts) i ciężko jest znaleźć coś, co mogłoby wspomóc to zachowanie w dokumentacji. Chciałbym wymusić na osi Y wyświetlanie zawsze zakresu od 0 do 35. Obecnie, jeśli mam tylko jedno wprowadzenie danych, powiedzmy (0, 9), oś Y będzie wyświetlała swój zakres jako 0-9. Jednak gdy dodam kolejny wpis w punkcie (1, 32), nagle widzę wierzchołek wykresu na 35.Wykresy iOS - ustaw minimalny zakres osi y

Istnieją trzy metody, które wyglądają obiecująco (ponieważ są powiązane), ale nie zapewniają rodzaj zachowania, którego szukam.

1: Chart.setVisibleYRangeMaximum (choćby to były Minimum ...)

2: Chart.setVisibleXRangeMaximum (znowu bezużyteczne ...)

Chart.setVisibleXRangeMinimum (3: gdzie jest teraz twój kuzyn YRange ?!)

Tak czy inaczej, tam właśnie jestem. Czytałem dokumentację, ale bezskutecznie. Pomóż mi SO?

Odpowiedz

9

customAxisMin jest przestarzałe w najnowszych przebojów.

Zamiast tego użyj właściwości axisMinValue!

8

Spójrz na poniższe właściwości. Powinien być w stanie rozwiązać twój problem.

/// A custom minimum value for this axis. 
/// If set, this value will not be calculated automatically depending on the provided data. 
/// Use resetCustomAxisMin() to undo this. 
/// Do not forget to set startAtZeroEnabled = false if you use this method. 
/// Otherwise, the axis-minimum value will still be forced to 0. 
public var customAxisMin = Double.NaN 

/// Set a custom maximum value for this axis. 
/// If set, this value will not be calculated automatically depending on the provided data. 
/// Use resetCustomAxisMax() to undo this. 
public var customAxisMax = Double.NaN 

/// if true, the y-label entries will always start at zero 
public var startAtZeroEnabled = true 

Na przykład:

_chartView.leftAxis.customAxisMax = 35; 
_chartView.leftAxis.customAxisMin = 0; 

lub _chartView.leftAxis.startAtZeroEnabled = YES;

+0

W twoim przykładzie: nie zapomnij ustawić startAtZeroEnabled = false, aby działał także wtedy, gdy niestandardowy argument API jest negatywny. –

+1

z najnowszą wersją, startAtZeroEnabled jest przestarzałe, użyj customAxisMin bezpośrednio – Wingzero

+0

Dla wykresów 3 użyj 'chartView.leftAxis.axisMinimum = 0'. –

1

Na wykresach 3 (wypróbowane na wykresach 3.0.2), to działa:

chartView.leftAxis.axisMinimum = 0 

Domyślnie jest rightAxis jak dobrze (przynajmniej dla wykresów słupkowych) i siatka nie zostaną wyrównane, jeśli nie również ustawić:

chartView.rightAxis.axisMinimum = 0 

Uwaga: napisałem to jako komentarz początkowo, ale myślę, że powinno być odpowiedzią będzie łatwiej znaleźć ludzi, którzy kończą się tutaj z Google.

Powiązane problemy