[matplotlib] Mehrere Axen verschmelzen zu einer?
Verfasst: Montag 14. August 2017, 15:30
Hi,
ich habe eine Problem beim erstellen eines Plot der einen großen Bereich von Geschwindigkeiten umfasst.
Um dies Vernünftig abzubilden möchte ich gerne im Bereich von <0.1 die Geschwindigkeit in log(v/c) ausdrücken, zwischen 0.1 und 0.99 linear also einfach v/c und ab 0.99 als gamma Faktor (für die Nicht Physiker: Das ist einfach eine Funktion die die Geschwindigkeit auf eine Positive Zahl größer als 1 Abbildet).
Momentan benutze ich dazu drei Getrennte Axen. Das Ergebnis sieht etwa so aus:
Das Problem dabei ist:
1. Die Legende bekomme ich nur per Hand über die drei Achsen angepasst.
2. Ich würde gerne eine Option einbauen, mit der man den ganz linken oder ganz rechten Teil abschalten kann. Das ganze endet aber in einem Furchtbaren Code Mess wenn man jeden Zugriff auf eine Achse ein If einbaut.
Gibt es eine Möglichkeit, das ganze zu vereinfachen, entweder indem man matplotlib sagt, das es diese 3 Achsen wie eine Betrachten soll, dann wäre sowohl 1 als auch 2 leicht lösbar.
Oder muss ich hier eine Custom Achse bauen wie hier beschrieben?
https://matplotlib.org/examples/api/cus ... ample.html
Das scheint mir ein ziemlicher Overkill zu sein.
Danke für die Hilfe im Voraus!
ich habe eine Problem beim erstellen eines Plot der einen großen Bereich von Geschwindigkeiten umfasst.
Um dies Vernünftig abzubilden möchte ich gerne im Bereich von <0.1 die Geschwindigkeit in log(v/c) ausdrücken, zwischen 0.1 und 0.99 linear also einfach v/c und ab 0.99 als gamma Faktor (für die Nicht Physiker: Das ist einfach eine Funktion die die Geschwindigkeit auf eine Positive Zahl größer als 1 Abbildet).
Momentan benutze ich dazu drei Getrennte Axen. Das Ergebnis sieht etwa so aus:
Das Problem dabei ist:
1. Die Legende bekomme ich nur per Hand über die drei Achsen angepasst.
2. Ich würde gerne eine Option einbauen, mit der man den ganz linken oder ganz rechten Teil abschalten kann. Das ganze endet aber in einem Furchtbaren Code Mess wenn man jeden Zugriff auf eine Achse ein If einbaut.
Gibt es eine Möglichkeit, das ganze zu vereinfachen, entweder indem man matplotlib sagt, das es diese 3 Achsen wie eine Betrachten soll, dann wäre sowohl 1 als auch 2 leicht lösbar.
Oder muss ich hier eine Custom Achse bauen wie hier beschrieben?
https://matplotlib.org/examples/api/cus ... ample.html
Das scheint mir ein ziemlicher Overkill zu sein.
Danke für die Hilfe im Voraus!