Website-Suche

Wie man Daten in Python 3 mit matplotlib plottet


Einführung

Python ist großartig für die Datenverarbeitung. Oft enthält ein Datensatz mehrere Variablen und viele Instanzen, was es schwer macht, ein Gefühl dafür zu bekommen, was vor sich geht. Datenvisualisierung ist eine nützliche Methode, um Ihnen zu helfen, Muster in Ihren Daten zu identifizieren.

Zum Beispiel, sagen wir, Sie sind ein Immobilienmakler und versuchen, die Beziehung zwischen dem Alter eines Hauses und dessen Verkaufspreis zu verstehen. Wenn Ihre Daten 1 Block mit 5 Häusern umfassen, wäre es nicht allzu schwierig, ein Gefühl dafür zu bekommen, was vor sich geht. Wenn Sie jedoch Daten von der gesamten Stadt mit 500 Häusern verwenden möchten, würde es ziemlich schwierig werden zu verstehen, wie das Alter den Preis beeinflusst. Die Visualisierung der Daten, indem man den Verkaufspreis gegen das Alter aufträgt, könnte definitiv Licht auf die Beziehung werfen, die zwischen beiden besteht.

Visualisierung ist eine schnelle und einfache Möglichkeit, Konzepte universell zu vermitteln, insbesondere an diejenigen, die mit Ihren Daten nicht vertraut sind. Wann immer wir mit Daten arbeiten, ist die Visualisierung oft ein notwendiger Teil der Analyse.

Wir werden die 2D-Plotbibliothek matplotlib verwenden, die ursprünglich von John D. Hunter geschrieben wurde und seitdem zu einem sehr aktiven Open-Source-Entwicklungsgemeinschaftsprojekt geworden ist. Sie ermöglicht es Ihnen, hochwertige Linienplots, Streudiagramme, Histogramme, Balkendiagramme und vieles mehr zu erstellen. Jedes Diagramm präsentiert Daten auf unterschiedliche Weise, und es ist oft nützlich, verschiedene Diagrammtypen auszuprobieren, bevor Sie sich auf das informativste Diagramm für Ihre Daten festlegen. Es ist gut, im Hinterkopf zu behalten, dass Visualisierung eine Mischung aus Kunst und Wissenschaft ist.

Angesichts der Bedeutung der Visualisierung wird dieses Tutorial beschreiben, wie man Daten in Python mit matplotlib visualisiert. Wir werden ein Streudiagramm mit einem kleinen Datensatz erstellen, Informationen wie Titel und Legenden zu Diagrammen hinzufügen und Diagramme anpassen, indem wir das Aussehen der Datenpunkte ändern.

Wenn Sie mit diesem Tutorial fertig sind, werden Sie in der Lage sein, Daten in Python zu plotten!

Voraussetzungen

Für dieses Tutorial sollten Sie Python 3 installiert haben sowie eine lokale Programmierumgebung auf Ihrem Computer eingerichtet haben. Wenn dies nicht der Fall ist, können Sie sich einrichten, indem Sie die entsprechende Installations- und Einrichtungshilfe für Ihr Betriebssystem befolgen.

Schritt 1 — Importieren von matplotlib

Bevor wir mit der Arbeit in Python beginnen können, überprüfen wir bitte noch einmal, ob das matplotlib-Modul installiert ist. Überprüfen Sie im Befehlszeilenfenster, ob matplotlib installiert ist, indem Sie den folgenden Befehl ausführen:

  1. python -c "import matplotlib"

Wenn matplotlib installiert ist, wird dieser Befehl ohne Fehler abgeschlossen und wir können loslegen. Andernfalls erhalten Sie eine Fehlermeldung:

  1. Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'matplolib'

Wenn Sie eine Fehlermeldung erhalten, laden Sie die Bibliothek mit pip herunter:

  1. pip install matplotlib

Jetzt, wo matplotlib installiert ist, können wir es in Python importieren. Zuerst erstellen wir das Skript, mit dem wir in diesem Tutorial arbeiten werden: scatter.py. Dann importieren wir in unserem Skript matplotlib. Da wir nur mit dem Zeichenmodul (pyplot) arbeiten werden, geben wir das beim Import an.

import matplotlib.pyplot as plt

Wir geben das Modul, das wir importieren möchten, an, indem wir .pyplot an das Ende von matplotlib anhängen. Um es in unserem Skript einfacher darauf zu verweisen, verkürzen wir es zu plt. Jetzt können wir zur Erstellung und Darstellung unserer Daten übergehen.

Schritt 2 — Erstellung von Datenpunkten zum Plotten

In unserem Python-Skript lassen Sie uns einige Daten erstellen, mit denen wir arbeiten können. Wir arbeiten in 2D, also benötigen wir X- und Y-Koordinaten für jeden unserer Datenpunkte.

Um am besten zu verstehen, wie matplotlib funktioniert, werden wir unsere Daten mit einem möglichen realen Szenario verknüpfen. Stellen wir uns vor, wir sind Inhaber eines Cafés und sind an der Beziehung zwischen dem durchschnittlichen Wetter im Laufe des Jahres und der Gesamtzahl der Käufe von Eiskaffee interessiert. Unsere X-Variable wird die Gesamtzahl der verkauften Eiskaffees pro Monat sein, und unsere Y-Variable wird die durchschnittliche Temperatur in Fahrenheit für jeden Monat sein.

In unserem Python-Skript werden wir zwei Listenvariablen erstellen: X (gesamt verkaufte Eiskaffees) und Y (durchschnittliche Temperatur). Jedes Element in unseren jeweiligen Listen wird Daten aus jedem Monat (Januar bis Dezember) darstellen. Zum Beispiel betrug die durchschnittliche Temperatur im Januar 32 Grad Fahrenheit und das Café verkaufte 590 Eiskaffees.

import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

Jetzt, da wir unsere Daten haben, können wir mit dem Plotten beginnen.

Schritt 3 — Daten plotten

Streudiagramme sind hervorragend geeignet, um die Beziehung zwischen zwei Variablen zu bestimmen, daher werden wir diese Graphart für unser Beispiel verwenden. Um ein Streudiagramm mit matplotlib zu erstellen, verwenden wir die Funktion scatter(). Die Funktion erfordert zwei Argumente, die die X- und Y-Koordinatenwerte darstellen.

import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

plt.scatter(X,Y)
plt.show()

Jedes Mal, wenn wir ein Diagramm erstellen, müssen wir auch angeben, dass wir das Diagramm anzeigen möchten, indem wir plt.show() verwenden.

Bevor wir fortfahren, lassen Sie uns überprüfen, ob unser Skript funktioniert. Speichern Sie das Skript und führen Sie es über die Eingabeaufforderung aus:

  1. python scatter.py

Wenn alles gut gelaufen ist, sollte ein Fenster geöffnet worden sein, das das Diagramm anzeigt, so wie hier:

Dieses Fenster ist hervorragend zur Datenansicht geeignet; es ist interaktiv und umfasst mehrere Funktionen, wie das Hovering zur Anzeige von Beschriftungen und Koordinaten, das Hinein- oder Herauszoomen und das Speichern.

Schritt 4 — Titel und Beschriftungen hinzufügen

Jetzt, da wir wissen, dass unser Skript ordnungsgemäß funktioniert, können wir beginnen, Informationen zu unserem Diagramm hinzuzufügen. Um klarzustellen, was unsere Daten darstellen, lassen Sie uns einen Titel sowie Beschriftungen für jede Achse einfügen.

Wir beginnen damit, einen Titel hinzuzufügen. Wir fügen den Titel vor der Zeile plt.show() in unserem Skript hinzu.

import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

plt.scatter(X,Y)

plt.title('Relationship Between Temperature and Iced Coffee Sales')

plt.show()

Fügen Sie als Nächstes Beschriftungen für die Achsen direkt unter der plt.title-Zeile hinzu:

...
plt.xlabel('Cups of Iced Coffee Sold')
plt.ylabel('Temperature in Fahrenheit')
...

Wenn wir unser Skript speichern und es erneut ausführen, sollten wir jetzt ein aktualisiertes Diagramm haben, das informativer ist. Unser aktualisiertes Diagramm sollte etwa so aussehen:

Schritt 5 — Anpassen eines Plots

Jeder Datensatz, mit dem wir arbeiten, ist einzigartig, und es ist wichtig, anpassen zu können, wie wir unsere Informationen anzeigen möchten. Denkt daran, dass Visualisierung auch eine Kunst ist, also seid kreativ damit! Matplotlib enthält viele Anpassungsfunktionen, wie verschiedene Farben, Punkt-Symbole und Größen. Je nach unseren Bedürfnissen möchten wir möglicherweise mit verschiedenen Skalen experimentieren, indem wir unterschiedliche Bereiche für unsere Achsen verwenden. Wir können die Standardparameter ändern, indem wir neue Bereiche für die Achsen festlegen, wie folgt:

import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

plt.scatter(X,Y)

plt.xlim(0,1000)
plt.ylim(0,100)

plt.title('Relationship Between Temperature and Iced Coffee Sales')

plt.show()
...

Die Punkte aus dem ursprünglichen Diagramm sahen ein wenig klein aus und Blau ist vielleicht nicht die gewünschte Farbe. Vielleicht wollen wir Dreiecke anstelle von Kreisen für unsere Punkte. Wenn wir die tatsächliche Farbe/Größe/Form der Punkte ändern wollen, müssen wir diese Änderungen im ursprünglichen plt.scatter() Aufruf vornehmen. Wir werden die folgenden Parameter ändern:

  • s: Größe des Punktes, Standard=20
  • c: Farbe, Sequenz oder Farbsequenz, Standard='b'
  • marker: Punkten-Symbol, Standard='o'

Mögliche Marker umfassen eine Reihe verschiedener Formen, wie Diamanten, Sechsecke, Sterne und so weiter. Die Farbauswahl umfasst, ist jedoch nicht beschränkt auf Blau, Grün, Rot und Magenta. Es ist auch möglich, einen HTML-Hex-String für die Farbe anzugeben. Siehe die Dokumentation von matplotlib für umfassende Listen möglicher Marker und Farben.

Um unser Diagramm leserlicher zu machen, verdreifachen wir die Größe der Punkte (s=60), ändern die Farbe in rot (c='r') und ändern das Symbol in ein Dreieck (marker='^'). Wir werden die plt.scatter()-Funktion modifizieren:

plt.scatter(X, Y, s=60, c='red', marker='^')

Bevor wir unser aktualisiertes Skript ausführen, können wir überprüfen, ob unser Code korrekt ist. Das aktualisierte Skript für das benutzerdefinierte Diagramm sollte etwa so aussehen:

import matplotlib.pyplot as plt


X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

#scatter plot
plt.scatter(X, Y, s=60, c='red', marker='^')

#change axes ranges
plt.xlim(0,1000)
plt.ylim(0,100)

#add title
plt.title('Relationship Between Temperature and Iced Coffee Sales')

#add x and y labels
plt.xlabel('Cups of Iced Coffee Sold')
plt.ylabel('Temperature in Fahrenheit')

#show plot
plt.show()

Vergiss nicht, dein Skript zu speichern, bevor du mit Schritt 6 fortfährst.

Schritt 6 — Ein Diagramm speichern

Jetzt, da wir unseren Code fertiggestellt haben, lassen Sie uns ihn ausführen, um unser neues angepasstes Diagramm zu sehen.

  1. python scatter.py

Ein Fenster sollte sich jetzt öffnen, das unser Diagramm anzeigt:

Als nächstes speichern Sie das Diagramm, indem Sie auf die Schaltfläche "Speichern" klicken, die das Diskettensymbol in der unteren Werkzeugleiste ist. Beachten Sie, dass das Bild als PNG und nicht als interaktives Diagramm gespeichert wird. Sie haben nun Ihr ganz eigenes, angepasstes Streudiagramm, herzlichen Glückwunsch!

Schlussfolgerung

In diesem Tutorial haben Sie gelernt, wie man Daten mit Matplotlib in Python plottet. Sie können jetzt Daten visualisieren und Plots anpassen.

Um weiter mit matplotlib zu üben, können Sie unser Handbuch zu "Wie man die Wortfrequenz mit matplotlib und Python 3 grafisch darstellt" befolgen.