Matplotlib Liniendiagramm mit Datenpunkten

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir lernen, wie man mit Matplotlib in Python einen Liniendiagramm mit Datenpunkten erstellt. Wir werden die EventCollection-Klasse in Matplotlib verwenden, um die Positionen der x- und y-Datenpunkte auf den jeweiligen Achsen für jede Kurve zu markieren.

Tipps für die virtuelle Maschine

Nachdem der Start der virtuellen Maschine abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen von Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie sofort beheben.

Importieren der erforderlichen Bibliotheken

Zunächst müssen wir die erforderlichen Bibliotheken importieren. Wir werden numpy verwenden, um zufällige Daten zu erstellen, matplotlib.pyplot, um das Diagramm zu erstellen, und EventCollection aus matplotlib.collections, um die Positionen der Datenpunkte zu markieren.

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import EventCollection

Zufällige Daten erstellen

Wir werden mit der Funktion numpy.random.random() zufällige Daten für zwei Kurven erstellen. Wir werden zwei Sets von 10 Zufallszahlen zwischen 0 und 1 generieren und sie in einem Array speichern.

## create random data
xdata = np.random.random([2, 10])

Die Daten sortieren

Um saubere Kurven zu erhalten, werden wir die Daten mit der sort()-Methode sortieren.

## split the data into two parts
xdata1 = xdata[0, :]
xdata2 = xdata[1, :]
## sort the data so it makes clean curves
xdata1.sort()
xdata2.sort()

Y-Datenpunkte erstellen

Wir werden für jede Kurve einige y-Datenpunkte erstellen, indem wir einige mathematische Operationen auf den sortierten x-Datenpunkten ausführen.

## create some y data points
ydata1 = xdata1 ** 2
ydata2 = 1 - xdata2 ** 3

Das Diagramm erstellen

Wir werden das Diagramm mit der Funktion matplotlib.pyplot.plot() erstellen.

## plot the data
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.plot(xdata1, ydata1, color='tab:blue')
ax.plot(xdata2, ydata2, color='tab:orange')

Die Ereignisse erstellen

Wir werden die Ereignisse erstellen, die die x- und y-Datenpunkte markieren, mit der Funktion EventCollection().

## create the events marking the x data points
xevents1 = EventCollection(xdata1, color='tab:blue', linelength=0.05)
xevents2 = EventCollection(xdata2, color='tab:orange', linelength=0.05)

## create the events marking the y data points
yevents1 = EventCollection(ydata1, color='tab:blue', linelength=0.05,
                           orientation='vertical')
yevents2 = EventCollection(ydata2, color='tab:orange', linelength=0.05,
                           orientation='vertical')

Die Ereignisse zum Diagramm hinzufügen

Wir werden die Ereignisse zum Diagramm hinzufügen, indem wir die Funktion matplotlib.pyplot.add_collection() verwenden.

## add the events to the axis
ax.add_collection(xevents1)
ax.add_collection(xevents2)
ax.add_collection(yevents1)
ax.add_collection(yevents2)

Die Grenzen festlegen und einen Titel hinzufügen

Wir werden die Grenzen der x- und y-Achsen festlegen und einem Diagramm einen Titel hinzufügen, indem wir die Funktionen matplotlib.pyplot.xlim(), matplotlib.pyplot.ylim() und matplotlib.pyplot.title() verwenden.

## set the limits
ax.set_xlim([0, 1])
ax.set_ylim([0, 1])
ax.set_title('line plot with data points')

Zeige das Diagramm an

Schließlich werden wir das Diagramm mit der Funktion matplotlib.pyplot.show() anzeigen.

## display the plot
plt.show()

Zusammenfassung

In diesem Lab haben wir gelernt, wie man mit Matplotlib in Python einen Liniendiagramm mit Datenpunkten erstellt. Wir haben die EventCollection-Klasse in Matplotlib verwendet, um die Positionen der x- und y-Datenpunkte auf den jeweiligen Achsen für jede Kurve zu markieren.