Ich verwende matplotlib
, um Daten (mit plot
und errorbar
Funktionen) aus Python zu zeichnen . Ich muss eine Reihe von völlig getrennten und unabhängigen Plots zeichnen und dann ihre ylim
Werte anpassen , damit sie leicht visuell verglichen werden können.
Wie kann ich die ylim
Werte aus jedem Diagramm abrufen , sodass ich die Min- und Max-Werte der unteren und oberen Ylim-Werte verwenden und die Diagramme so anpassen kann, dass sie visuell verglichen werden können?
Natürlich könnte ich einfach die Daten analysieren und meine eigenen benutzerdefinierten ylim
Werte erstellen ... aber ich würde das gerne matplotlib
für mich tun. Irgendwelche Vorschläge, wie dies einfach (und effizient) gemacht werden kann?
Hier ist meine Python-Funktion, die mit folgenden Plots erstellt matplotlib
:
import matplotlib.pyplot as plt
def myplotfunction(title, values, errors, plot_file_name):
# plot errorbars
indices = range(0, len(values))
fig = plt.figure()
plt.errorbar(tuple(indices), tuple(values), tuple(errors), marker='.')
# axes
axes = plt.gca()
axes.set_xlim([-0.5, len(values) - 0.5])
axes.set_xlabel('My x-axis title')
axes.set_ylabel('My y-axis title')
# title
plt.title(title)
# save as file
plt.savefig(plot_file_name)
# close figure
plt.close(fig)
quelle
plt.gca().get_ylim()
es praktisch - es ist keine zusätzliche Achsendefinition erforderlich.fig, ax = plt.subplots()
und dann Route alle meine Funktionen entweder überfig
oderax
Wenn Sie die
plt
API direkt verwenden, können Sie Aufrufe der Achsen insgesamt vermeiden:quelle
Nutzen Sie die guten Antworten oben und gehen Sie davon aus, dass Sie nur plt wie in verwenden
Dann können Sie alle vier Plotlimits
plt.axis()
wie im folgenden Beispiel abrufen.Der obige Code sollte das folgende Ausgabediagramm erzeugen.
quelle