So zeichnen Sie Daten in Python 3 mit matplotlib

Einführung

Python eignet sich hervorragend für die Verarbeitung von Daten. Oft enthält ein Datensatz mehrere Variablen und viele Instanzen, so dass es schwierig ist, einen Eindruck davon zu bekommen, was vor sich geht. Die Datenvisualisierung ist eine nützliche Methode, um Muster in Ihren Daten zu identifizieren.

Angenommen, Sie sind ein Immobilienmakler und versuchen, die Beziehung zwischen dem Alter eines Hauses und dem Verkaufspreis zu verstehen. Wenn Ihre Daten 1 Block mit 5 Häusern enthalten, ist es nicht allzu schwierig, einen Eindruck von den Vorgängen zu bekommen. Angenommen, Sie wollten Daten aus der gesamten Stadt mit 500 Häusern verwenden. Dann wäre es ziemlich schwierig zu verstehen, wie sich das Alter auf den Preis auswirkt. Die Visualisierung der Daten durch Auftragen des Verkaufspreises in Abhängigkeit vom Alter könnte definitiv Aufschluss über die Beziehung geben, die zwischen den beiden besteht.

Die Visualisierung ist eine schnelle und einfache Möglichkeit, Konzepte universell zu vermitteln, insbesondere für diejenigen, die mit Ihren Daten nicht vertraut sind. Immer wenn wir mit Daten arbeiten, ist die Visualisierung ein notwendiger Bestandteil der Analyse.

Wir werden die 2D-Plotbibliothekmatplotlib verwenden, die ursprünglich von John D. geschrieben wurde. Hunter und ist seitdem ein sehr aktives Open-Source-Entwicklungs-Community-Projekt. Sie können damit hochwertige Liniendiagramme, Streudiagramme, Histogramme, Balkendiagramme und vieles mehr erstellen. Jedes Diagramm stellt Daten auf unterschiedliche Weise dar. Oft ist es hilfreich, verschiedene Diagrammtypen auszuprobieren, bevor Sie sich für das aussagekräftigste Diagramm für Ihre Daten entscheiden. Es ist gut zu bedenken, dass Visualisierung eine Mischung aus Kunst und Wissenschaft ist.

Angesichts der Bedeutung der Visualisierung wird in diesem Lernprogramm beschrieben, wie Daten in Python mit matplotlib geplottet werden. Wir werden ein Punktdiagramm mit einem kleinen Datensatz erstellen, Informationen wie Titel und Legenden zu Diagrammen hinzufügen und Diagramme anpassen, indem wir das Aussehen der Diagrammpunkte ändern.

Wenn Sie mit diesem Tutorial fertig sind, können Sie Daten in Python plotten!

Voraussetzungen

Für dieses Tutorial sollten Sie Python 3 sowie eine lokale Programmierumgebung auf Ihrem Computer installiert haben. Ist dies nicht der Fall, können Sie sich einrichten, indem Sie denappropriate installation and set up guide for your operating system folgen.

[[Schritt-1 - Importieren von Matplotlib]] == Schritt 1 - Importieren von Matplotlib

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

python -c "import matplotlib"

Wenn matplotlib installiert ist, wird dieser Befehl fehlerfrei ausgeführt und wir können loslegen. Wenn nicht, erhalten Sie eine Fehlermeldung:

OutputTraceback (most recent call last): File "", line 1, in  ImportError: No module named 'matplolib'

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

pip install matplotlib

Nachdem matplotlib installiert ist, können wir es in Pythonimport. Erstellen wir zunächst das Skript, mit dem wir in diesem Lernprogramm arbeiten werden:scatter.py. Dann importieren wir in unserem Skript die matplotlib. Da wir nur mit dem Plotmodul (Pyplot) arbeiten, geben wir dies beim Import an.

scatter.py

import matplotlib.pyplot as plt

Wir geben das zu importierende Modul an, indem wir.pyplot an das Ende vonmatplotlib anhängen. Um das Verweisen auf das Modul in unserem Skript zu vereinfachen, wird es alsplt abgekürzt. Jetzt können wir mit dem Erstellen und Plotten unserer Daten fortfahren.

[[Schritt 2 - Erstellen von Datenpunkten zum Plotten]] == Schritt 2 - Erstellen von Datenpunkten zum Plotten

Lassen Sie uns in unserem Python-Skript einige Daten erstellen, mit denen Sie arbeiten möchten. Wir arbeiten in 2D, daher benötigen wir für jeden unserer Datenpunkte X- und Y-Koordinaten.

Um die Funktionsweise von matplotlib besser zu verstehen, verknüpfen wir unsere Daten mit einem möglichen realen Szenario. Nehmen wir an, wir sind Eigentümer eines Coffeeshops und interessieren uns für die Beziehung zwischen dem durchschnittlichen Wetter während des ganzen Jahres und der Gesamtzahl der Einkäufe von Eiskaffee. Unsere Xvariable sind die Gesamtzahl der pro Monat verkauften Eiskaffees, und unsere Y-Variable ist die durchschnittliche Temperatur in Fahrenheit für jeden Monat.

In unserem Python-Skript erstellen wir zwei Listenvariablen:X (insgesamt verkaufte Eiskaffees) undY (Durchschnittstemperatur). Jeder Artikel in unseren jeweiligenlistsrepräsentiert Daten von jedem Monat (Januar bis Dezember). Zum Beispiel lag die Durchschnittstemperatur im Januar bei 32 Grad Fahrenheit und der Coffeeshop verkaufte 590 Eiskaffees.

scatter.py

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]

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

[[Schritt 3 - Plotten von Daten]] == Schritt 3 - Plotten von Daten

Streudiagramme eignen sich hervorragend zum Ermitteln der Beziehung zwischen zwei Variablen. Daher verwenden wir diesen Diagrammtyp für unser Beispiel. Um ein Streudiagramm mit matplotlib zu erstellen, verwenden wir die Funktionscatter(). Für die Funktion sind zwei Argumente erforderlich, die die X- und Y-Koordinatenwerte darstellen.

scatter.py

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 außerdem angeben, dass das Diagramm mithilfe vonplt.show() angezeigt werden soll.

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

python scatter.py

Wenn alles geklappt hat, sollte ein Fenster gestartet sein, in dem der Plot wie folgt angezeigt wird:

Alt Scatter plot

Dieses Fenster eignet sich hervorragend zum Anzeigen von Daten. Es ist interaktiv und verfügt über verschiedene Funktionen, z.

[[Schritt-4 - Hinzufügen von Titeln und Beschriftungen]] == Schritt 4 - Hinzufügen von Titeln und Beschriftungen

Jetzt, da wir wissen, dass unser Skript ordnungsgemäß funktioniert, können wir unserem Plot Informationen hinzufügen. Um zu verdeutlichen, was unsere Daten darstellen, geben Sie einen Titel sowie Beschriftungen für jede Achse an.

Wir beginnen mit dem Hinzufügen eines Titels. Wir fügen den Titel vor der Zeileplt.show()in unserem Skript hinzu.

scatter.py

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 Linieplt.titlehinzu:

scatter.py

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

Wenn wir unser Skript speichern und erneut ausführen, sollten wir jetzt einen aktualisierten Plot haben, der informativer ist. Unser aktualisierter Plot sollte ungefähr so ​​aussehen:

Alt Scatter plot with a title and X/Y labels.

[[Schritt-5 - Anpassen eines Diagramms]] == Schritt 5 - Anpassen eines Diagramms

Jeder Datensatz, mit dem wir arbeiten, ist einzigartig und es ist wichtig, die Art und Weise anzupassen, in der wir unsere Informationen anzeigen möchten. Denken Sie daran, Visualisierung ist auch eine Kunst, also werden Sie kreativ! matplotlib enthält viele Anpassungsfunktionen, z. B. verschiedene Farben, Punktsymbole und Größen. Abhängig von unseren Bedürfnissen möchten wir möglicherweise mit verschiedenen Maßstäben spielen und unterschiedliche Bereiche für unsere Achsen verwenden. Wir können die Standardparameter ändern, indem wir neue Bereiche für die Achsen festlegen:

scatter.py

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 Plot sahen etwas klein aus und Blau entspricht möglicherweise nicht der gewünschten Farbe. Vielleicht wollen wir Dreiecke anstelle von Kreisen für unsere Punkte. Wenn wir die tatsächliche Farbe / Größe / Form der Punkte ändern möchten, müssen wir diese Änderungen beim ersten Aufruf vonplt.scatter()vornehmen. Wir werden die folgenden Parameter ändern:

  • s: Punktgröße, Standard = 20

  • c: Farbe, Sequenz oder Farbsequenz, Standard = "b"

  • marker: Punktsymbol, Standard = 'o'

Mögliche Markierungen umfassen eine Reihe verschiedener Formen, wie z. B. Diamanten, Sechsecke, Sterne usw. Die Farbauswahl umfasst unter anderem Blau, Grün, Rot und Magenta. Es ist auch möglich, eine HTML-Hex-Zeichenfolge für die Farbe anzugeben. In der Dokumentation von matplotlib finden Sie umfassende Listen möglichermarkers undcolors.

Um unser Diagramm besser lesbar 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 dieplt.scatter()-Funktion ändern:

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 ungefähr so ​​aussehen:

scatter.py

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()

Vergessen Sie nicht, Ihr Skript zu speichern, bevor Sie mit Schritt 6 fortfahren.

[[Schritt 6 - Speichern eines Diagramms]] == Schritt 6 - Speichern eines Diagramms

Nachdem wir unseren Code fertiggestellt haben, führen wir ihn aus, um unser neues benutzerdefiniertes Diagramm anzuzeigen.

python scatter.py

Es sollte sich nun ein Fenster öffnen, in dem unser Grundstück angezeigt wird:

Alt Final scatter plot with title and X/Y labels and customized with larger

Speichern Sie anschließend das Diagramm, indem Sie auf die Schaltfläche Speichern klicken. Dies ist das Diskettensymbol in der unteren Symbolleiste. Beachten Sie, dass das Bild als PNG statt als interaktives Diagramm gespeichert wird. Sie haben jetzt Ihr ganz persönliches Streudiagramm, herzlichen Glückwunsch!

Fazit

In diesem Tutorial haben Sie gelernt, wie Sie Daten mit matplotlib in Python plotten. Sie können jetzt Daten visualisieren und Diagramme anpassen.

Um mit matplotlib weiter zu üben, können Sie unserem Leitfaden unter „https://www.digitalocean.com/community/tutorials/how-to-graph-word-frequency- using-matplotlib-with-python-3[How To Graph“ folgen Worthäufigkeit Mit matplotlib mit Python 3]. “