neue pythonic Stil für die gemeinsamen Achsen quadratischen subplots in matplotlib?
Bezug auf: Plotten autoscaled Geschichten mit festen Grenzen in matplotlib
Ich würde gerne eine Reihe von Nebenhandlungen, die sich alle auf den gleichen Maßstab, mit dem subplots
neuen, kompakten Stil, wie in http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.subplots haben und Sie werden Platz.
Habe ich versucht:
fig, axes = subplots(numplots, 1, sharex=True, sharey=True, adjustable='box', aspect='equal')
Aber ich fand, dass diese keyword-Argumente werden nicht umgesetzt in die subplots
wrapper. Was ist der Weg, es zu tun?
Wiederholen, das Ziel ist einfach zu haben gemeinsamen Achsen, so dass alle Daten in der gleichen Größenordnung, und die Parzellen quadratisch sein.
InformationsquelleAutor user248237dfsf | 2012-11-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie einfach
adjustable='box-forced'
stattadjustable='box'
.Als @cronos erwähnt, können Sie geben Sie bei der Verwendung der
subplot_kw
kwarg (zusätzliche keyword-Argumente zusubplots
werden an dieFigure
nicht dieAxes
, damit die Notwendigkeit fürsubplot_kw
).Statt, ich werde
setp
, was im Grunde nur bedeutetfor item in sequence: item.set(**kwargs)
. (Alle matplotlib Künstler haben eineset
Methode, die verwendet werden können, ähnlich zu matlab istset
.)Welches ist die "bessere" Ansatz wird davon abhängen, was du tust. Eine Menge Leute würden argumentieren, dass
setp
ist sehr "unpythonic", aber ich sehe nicht das problem mit ihm.Als schnelles Beispiel:
Ich vergessen der Grund für die zwei verschiedenen verstellbaren box-Stile, im moment. Ich erinnere mich, dass ich fand es wirklich verwirrend, das erste mal, dass ich über Sie kam, und ich grub durch den code, und es gab einige offensichtliche Grund dafür... ich kann mich nicht erinnern, was der Grund war in dem moment, wenn.
InformationsquelleAutor Joe Kington
In der Dokumentation, die Sie beziehen, deutet auf eine subplot_kw
Jedoch die gemeinsamen Achsen zu erfordern scheinen, dass datalim so einstellbar, die plots sind korrekt skaliert, aber nicht quadratisch. Wenn man den freigegebenen Achsen, dann "box" funktioniert. Ihren Anruf.
datalim
undequal
Aspekt das problem nicht lösen. Dies muss eine sehr einfache Lösung?Ich bin mir nicht sicher, aber ich fürchte, es ist nicht möglich, da bekommt man
ValueError: adjustable must be "datalim" for shared axes
wenn man versucht, mithilfe von "box" und "gleich".also, was ist ein Weg, um ein Quadrat Nebenhandlung in matplotlib mit geteilten Achsen? Es ist so eine triviale Handlung und matplotlib so mächtig, es muss einen Weg, es zu tun?
Bekam die Irre führen, indem die Fehlermeldung ("muss"). @JoeKington es richtig,
adjustabe='box-forced'
, macht den job. Funktioniert auch wunderbar mit dersubplot_kw
Wörterbuch.InformationsquelleAutor cronos