Wie kann ich mehrere Y-Achsen in Highcharts zwingen, eine gemeinsame Null zu haben?

9

Siehe JSFiddle . Wie bekomme ich die Y-Achse Null zum Ausrichten?

    
Καrτhικ 18.04.2013, 14:42
quelle

6 Antworten

11

Die kurze Antwort lautet: Sie können nicht.

Sie können die Achsenskalierung, das Auffüllen und das Zecken von Positionen und ähnlichem optimieren und erhalten möglicherweise, was Sie wollen, aber es gibt keine Einstellung dafür.

Es gibt jedoch eine Feature-Anfrage, dass Sie Ihre Stimmen und / oder Kommentare hinzufügen können:

Ссылка

BEARBEITEN: OTOH, ich muss erwähnen, dass Dual-Achsen-Diagramme wie diese meistens eine sehr schlechte Art sind, die Daten anzuzeigen, und lädt den Benutzer ein, Vergleiche zu machen, die nicht gültig sind.

Während die meisten Leute immer versuchen, alles in ein Diagramm zu stellen, sind oft mehrere Diagramme die bessere Lösung.

FWIW

    
jlbriggs 18.04.2013, 15:41
quelle
6

Sie können den Min / Max-Wert für die erste yAchse festlegen und linkedTo zur zweiten Achse verwenden, aber ich bin mir nicht sicher, ob Sie diesen Effekt erwarten:

Ссылка

%Vor%     
Sebastian Bochan 19.04.2013 08:11
quelle
4

Ein einfacher Workaround, bis diese Funktion hinzugefügt wird, besteht darin, sicherzustellen, dass das Verhältnis von max / min für beide Achsen gleich ist. Zum Beispiel ist das Minimum und das Maximum für die primäre y-Achse beispielsweise -20 und 40, dann ist das maximale / minimale Verhältnis gleich -2. Nun sagen wir, dass wir einen maximalen Wert für die sekundäre y-Achse von 25 haben. Wenn wir die min für diese Achse auf 25 / -2 (= -12.5) setzen, wird die y = 0 Linie für die zwei Achsen ausgerichtet / p>

Wäre viel schöner, eine Fahne zu haben, um das automatisch zu setzen; -)

EDIT: Etwas wie unten funktioniert gut für mich:

%Vor%     
ProfNimrod 21.09.2013 13:59
quelle
1

Ich weiß, dass es zwei Jahre her ist. Allerdings habe ich eine bessere Lösung gefunden, als die Lösung, die in früheren Antworten gegeben wurde. Meine Lösung verwendet immer noch setExtremes, um min, max für yAxis zu setzen, aber mit einer besseren Ausnahmebehandlung, die für show() und hide() jede Grafik extrem gut ist. Lösung: link
Github: link

    
user5171806 30.07.2015 04:24
quelle
0

Der einfachste Weg besteht darin, für jede Achse nur das gleiche Minimum / Maximum anzugeben. Es wäre ziemlich einfach, ein gutes Min / Max zu bestimmen, basierend auf den Daten vor dem Plot-Aufruf (kombiniere die Arrays, nimm die Min / Max-Runden runter / bis zum nächsten int, wäre mein Ansatz).

%Vor%

Aktualisierte Geige .

    
Mark 18.04.2013 20:12
quelle
0

Sie können es leicht tun, indem Sie den folgenden Code befolgen -

Sie müssen nur herausfinden, welcher Punkt der entgegengesetzten y-Achse die Null der ersten y-Achse trifft, und den min der opp-y-Achse auf (diesen Punkt * -1) setzen

In meinem Fall bildet yaxis [1] die y-Achse und yaxis [0] die entgegengesetzte y-Achse

%Vor%     
Deepti 03.03.2015 11:49
quelle

Tags und Links