Achsen in Matplotlib entfernen: Ein umfassender Leitfaden
Published on
Matplotlib ist eine leistungsstarke Python-Bibliothek zur Datenvisualisierung, aber um wirklich effektive Plots zu erstellen, müssen Sie manchmal bestimmte Elemente wie Achsen entfernen. Wenn Sie sich gefragt haben, wie Sie Achsen in Matplotlib entfernen können, ist dieser Leitfaden der perfekte Ausgangspunkt. Lassen Sie uns erkunden, wie Sie Ihre Diagramme durch Entfernen unnötiger Elemente zum Strahlen bringen können, indem wir bewährte Verfahren aus der eigenen Dokumentation von Matplotlib und der Gemeinschaftsweisheit anwenden.
Erste Schritte: Was sind Achsen in Matplotlib?
Bevor wir beginnen, ist es wichtig zu verstehen, was wir mit "Achsen" in Matplotlib meinen. Der Begriff "Achsen" bezieht sich auf die x- und y-Achse auf einem Plot, einschließlich der Beschriftungen, Markierungen und der Linie, die den Plotbereich umschließt. Wenn Sie die Achsen entfernen, bleibt ein sauberer, minimalistischer Plot übrig, der sich auf die Darstellung der Daten konzentriert, ohne zusätzliche Ablenkungen.
Warum Achsen entfernen?
Es gibt mehrere Gründe, warum Sie die Achsen aus einem Matplotlib-Plot entfernen möchten. Der wahrscheinlich häufigste Grund ist, ein saubereres, einfacheres visuelles Erscheinungsbild zu erzeugen. Durch das Entfernen von Achsen, Gitterlinien und Beschriftungen können Sie die Betrachter dazu bringen, sich auf den wichtigsten Teil Ihrer Visualisierung zu konzentrieren: die Daten.
Entfernen von Achsen: Die Grundlagen
Nun wollen wir direkt zum Kern der Sache kommen: Wie man Achsen in Matplotlib entfernt. Der Prozess ist recht einfach und erfordert nur wenige Zeilen Code. Betrachten Sie dieses einfache Beispiel:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.plot(x, y)
plt.gca().set_axis_off()
plt.show()
In diesem Skript verwenden wir die Funktion gca()
, um die aktuellen Achsen zu erhalten, und rufen dann die Methode set_axis_off()
auf, um die Achsen auszuschalten. Nachdem Sie dieses Skript ausgeführt haben, sollten Sie einen Liniendiagramm ohne sichtbare Achsen sehen.
Entfernen von Achsen und Speichern der Abbildung
Was ist, wenn Sie Ihre Abbildung ohne Achsen speichern möchten? Matplotlib bietet eine einfache Möglichkeit, Ihre Plots in eine Datei zu speichern. So können Sie eine Abbildung ohne Achsen speichern:
plt.plot(x, y)
plt.gca().set_axis_off()
plt.savefig('my_plot.png', bbox_inches='tight', pad_inches = 0)
plt.close()
Die Funktion savefig()
wird zum Speichern der aktuellen Abbildung verwendet, und wir übergeben den Dateinamen 'my_plot.png' als Argument. Die Parameter bbox_inches='tight'
und pad_inches=0
entfernen zusätzliche Ränder um die Abbildung in der gespeicherten Abbildung. Nachdem Sie dieses Skript ausgeführt haben, sollte eine neue Datei namens 'my_plot.png' in Ihrem aktuellen Verzeichnis erscheinen, die Ihre gespeicherte Abbildung ohne Achsen enthält.
Fortgeschritten: Entfernen von Achsen aus Teildiagrammen
Bisher haben wir besprochen, wie man Achsen aus einem einzelnen Plot entfernt. Aber was ist, wenn Sie mehrere Teildiagramme haben und aus allen oder einem bestimmten Teildiagramm Achsen entfernen möchten? So geht's:
fig, axs = plt.subplots(2, 2)
for ax in axs.flat:
ax.set_axis_off()
plt.savefig('subplot_no_axes.png', bbox_inches='tight', pad_inches = 0)
plt.close()
In diesem Code erstellen wir ein 2x2-Raster von Teildiagrammen mit der Funktion plt.subplots()
, und dann iterieren wir über jedes Teildiagramm (zugänglich über axs.flat
) und entfernen die Achsen mit ax.set_axis_off()
. Die Abbildung wird dann wie zuvor gespeichert und es wird eine Bilddatei mit mehreren Teildiagrammen erstellt, von denen jedes keine Achsen hat.
Alternativen zum Entfernen von Achsen: Anpassung des Erscheinungsbilds der Achsen
In einigen Fällen möchten Sie möglicherweise die Achsen behalten, aber sie weniger auffällig gestalten. Matplotlib bietet viele Optionen zur Anpassung des Erscheinungsbilds von Achsen. Hier ist ein Beispiel, wie Sie die Achsen weniger bemerkbar machen, indem Sie die Linienbreite reduzieren und die Farbe ändern:
ax = plt.gca()
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_linewidth(0.5)
ax.spines['left'].set_linewidth(0.5)
ax.spines['right'].set_color('none')
In diesem Skript erhalten wir zuerst die aktuellen Achsen mit plt.gca()
. Dann verwenden wir die Eigenschaft spines
, um auf jede der vier Seiten der Achsen ('top', 'bottom', 'left' und 'right') zuzugreifen. Anschließend rufen wir set_color('none')
auf, um die oberen und rechten Seiten der Achsen zu entfernen, und set_linewidth(0.5)
um die unteren und linken Seiten dünner zu machen.
Alternative zu Matplotlib: Daten mit PyGWalker visualisieren
Neben der Verwendung von Matplotlib zur Visualisierung Ihres Pandas-Datenrahmens gibt es eine alternative Open-Source-Python-Bibliothek, die Ihnen helfen kann, Datenvisualisierungen einfach zu erstellen: PyGWalker (opens in a new tab).
Es ist nicht mehr notwendig, komplizierte Verarbeitungen mit Python-Code durchzuführen. Importieren Sie einfach Ihre Daten und ziehen Sie Variablen, um alle Arten von Datenvisualisierungen zu erstellen! Hier ist ein kurzes Demo-Video zur Operation:
So verwenden Sie PyGWalker in Ihrem Jupyter Notebook:
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Alternativ können Sie es in einem Kaggle Notebook/Google Colab ausprobieren:
PyGWalker basiert auf der Unterstützung unserer Open Source Community. Vergessen Sie nicht, PyGWalker GitHub (opens in a new tab) zu besuchen und uns einen Stern zu geben!
Abschließende Bemerkungen
Das Entfernen von Achsen in Matplotlib kann Ihnen helfen, saubere und eindrucksvolle Visualisierungen zu erstellen, indem Sie die Aufmerksamkeit auf die Daten lenken. Dieser Leitfaden zeigt Ihnen, wie Sie Achsen aus einem einzelnen Plot oder mehreren Unterplots entfernen können und wie Sie das Erscheinungsbild der Achsen anpassen können, um sie weniger störend zu machen. Mit diesen Techniken in Ihrem Werkzeugkasten sind Sie bereit, atemberaubende, minimalistische Plots mit Matplotlib zu erstellen.
FAQ
Frage: Gibt es Fälle, in denen es nicht ratsam ist, Achsen in Matplotlib zu entfernen?
Ja, das Entfernen von Achsen kann manchmal die Interpretation eines Plots erschweren, insbesondere wenn die Skala oder Proportionen der Daten wichtig sind. Sie sollten immer die Bedürfnisse Ihres Publikums und die Art Ihrer Daten berücksichtigen, um zu entscheiden, ob Sie Achsen entfernen sollten.
Frage: Kann ich Achsen aus Plots entfernen, die mit Seaborn erstellt wurden, das auf Matplotlib basiert?
Ja, Sie können Achsen aus Seaborn-Plots genauso entfernen wie aus Matplotlib-Plots. Seaborn verwendet Matplotlib unter der Haube, daher funktionieren die gleichen Befehle.
Frage: Kann ich nach dem Entfernen der Achsen immer noch einen Titel zu meinem Plot hinzufügen?
Ja, das Entfernen der Achsen beeinträchtigt nicht die Möglichkeit, einen Titel zu Ihrem Plot hinzuzufügen. Sie können die Funktion plt.title()
verwenden, um jederzeit einen Titel hinzuzufügen.