Charts: Wie richte ich die Y-Achse mit Min-, Max-Wert und einem festen Schritt zwischen den Rasterlinien ein?

Erstellt am 17. Juli 2015  ·  13Kommentare  ·  Quelle: danielgindi/Charts

Hi,
Ich bin gerade in der Lernphase mit ios-charts. Ich möchte das x-Achsen-Raster auf feste Werte ändern.
Meine aufgetragenen y-Werte sind nur int-Zahlen wie 1, 2, 3,..., 10. Trotzdem zeigt die linke y-Achse Werte wie 6.3, 9.1 usw., abhängig von meiner Zoomstufe.
Die zweite Frage ist, wie man die x-Achse so einrichtet, dass die Beschriftungen 1,5,10,15,....40 angezeigt werden.

Gibt es eine Möglichkeit die Schrittweite wie zB in Excel zu beeinflussen?

// zoom y-axis to min/max value
lineChart.leftAxis.customAxisMin = max(0.0, lineChart.data!.yMin - 1.0)
lineChart.leftAxis.customAxisMax = min(10.0, lineChart.data!.yMax + 1.0)
lineChart.leftAxis.startAtZeroEnabled = false

Diagramm (min = 6,0 und max = 10,0):
linechartview

Die Anordnung hängt stark vom Min- und Max-Wert ab.

Diagramm (min = 3,0 und max = 10,0):
bildschirmfoto 2015-07-17 um 22 13 16

Danke für deine Unterstützung.

Hilfreichster Kommentar

Hallo nochmal, egal, habe das herausgefunden..

axisMaximum / axisMinimum hat es geschafft.

So ein wunderbares Plugin. Sie haben keine Ahnung, wie einfach Sie uns Entwicklern das Leben gemacht haben.

Ein großes Dankeschön!!

Alle 13 Kommentare

Ich habe festgestellt, dass in der Funktion internal func computeAxisValues(#min: Double, max: Double) in der Klasse ChartYAxisRenderer etwas schief geht. Aber ich verstehe den Quellcode nicht. Die Funktion wird 5 mal aufgerufen.

Was genau machen die folgenden Zeilen? Wo ist das labelCount definiert?

var rawInterval = range / Double(labelCount)
var interval = ChartUtils.roundToNextSignificant(number: Double(rawInterval))
var intervalMagnitude = pow(10.0, round(log10(interval)))
var intervalSigDigit = (interval / intervalMagnitude)

Sie können customAxisMin / customAxisMax auf beliebige Werte festlegen

Was meinst du mit welchen Werten du willst? Werden diese Werte ignoriert?
Wie erreiche ich ein gut ausgerichtetes Raster?

Das bedeutet, dass Sie das Minimum/Maximum für die Y-Achse wie gewünscht angeben. Ich habe gerade etwas wenig Zeit, aber ich wollte Ihnen trotzdem eine Antwort geben, also sollten Sie sich einfach die Achsenfunktionen ansehen oder sich die Demos ansehen :-)

Wenn ich später Zeit habe, versuche ich dir eine genauere Antwort zu geben

Hi,
Ich habe das Problem gelöst, indem ich Ihren Quellcode analysiert habe. Ich habe vergessen, labelCount einzustellen.

            lineChart.leftAxis.customAxisMin = max(0.0, lineChart.data!.yMin - 1.0)
            lineChart.leftAxis.customAxisMax = min(10.0, lineChart.data!.yMax + 1.0)
            lineChart.leftAxis.labelCount = Int(lineChart.leftAxis.customAxisMax - lineChart.leftAxis.customAxisMin)
            lineChart.leftAxis.startAtZeroEnabled = false

Mein Problem ist, dass in einigen Fällen die y-Achsenbeschriftungen nicht angezeigt werden. (für Balken- und Liniendiagramme)

bitte helft mir das zu lösen.

@ramkrishna880 setLabelsToSkip(0) in deiner Achse

@danielgindi kann anscheinend nicht auf customAxisMin / customAxisMax für kombinierte Diagramme zugreifen. Gibt es eine Möglichkeit, die maximalen und minimalen Werte für die Y-Achse im kombinierten Diagramm zu fixieren?

Hallo nochmal, egal, habe das herausgefunden..

axisMaximum / axisMinimum hat es geschafft.

So ein wunderbares Plugin. Sie haben keine Ahnung, wie einfach Sie uns Entwicklern das Leben gemacht haben.

Ein großes Dankeschön!!

Sie können die Achse einstellen: MinValue="0" in xaml
image

Hallo, kann mir jemand sagen, wie man feste Intervalle für die y-Achse festlegt. Ich verwende ein positives negatives Balkendiagramm.
Diagramme 3.1.1

wie 1.1, 1.3, 1.5 Intervalle für die y-Achse im positiven negativen Balkendiagramm. siehe das angehängte Bild

Vielen Dank
how to intervals

Sie können customAxisMin / customAxisMax auf beliebige Werte festlegen

Hallo Daniel, funktionieren diese Eigenschaften auch für Balkendiagramme?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

brytnvmg picture brytnvmg  ·  4Kommentare

ahmedsafadii picture ahmedsafadii  ·  3Kommentare

JW00332 picture JW00332  ·  4Kommentare

cilasgimenez picture cilasgimenez  ·  4Kommentare

BrandonShega picture BrandonShega  ·  4Kommentare