Einfaches Liniendiagramm mit Matplotlib

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 Tutorial wird gezeigt, wie man die Matplotlib-Bibliothek in Python verwendet, um einen einfachen Liniendiagramm zu erstellen, in dem ein Bereich mit Schattierung die Fläche unter der Kurve darstellt. Das Diagramm enthält eine Textbeschriftung, Achsenbeschriftungen sowie benutzerdefinierte Tick-Positionen und -beschriftungen.

Tipps für virtuelle Maschinen

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 nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in 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 prompt beheben.

Definiere die Funktion

Zunächst definieren Sie die Funktion, die geplottet werden soll. In diesem Beispiel lautet die Funktion (x - 3) _ (x - 5) _ (x - 7) + 85.

def func(x):
    return (x - 3) * (x - 5) * (x - 7) + 85

Definiere die Integrationsgrenzen

Als nächstes definieren Sie die Grenzen des Integrals. In diesem Beispiel lauten die Grenzen a = 2 und b = 9.

a, b = 2, 9

Erzeuge die x- und y-Werte

Erzeugen Sie eine Reihe von x-Werten mit der numpy-Funktion linspace. Anschließend verwenden Sie die in Schritt 1 definierte Funktion, um die entsprechenden y-Werte zu erzeugen.

import numpy as np

x = np.linspace(0, 10)
y = func(x)

Erzeuge das Diagramm

Erzeugen Sie ein Figure- und Achsenobjekt mit subplots. Plotten Sie die x- und y-Werte mit plot. Setzen Sie die untere Grenze der y-Achse auf 0 mit set_ylim.

fig, ax = plt.subplots()
ax.plot(x, y, 'r', linewidth=2)
ax.set_ylim(bottom=0)

Erzeuge die eingefärbte Region

Erzeuge die eingefärbte Region mit einem Polygon-Patch. Erzeuge x- und y-Werte für die Region mit linspace und der in Schritt 1 definierten Funktion. Definiere dann die Eckpunkte der Region als Liste von Tupeln. Schließlich erstelle das Polygon-Objekt und füge es zur Achse hinzu mit add_patch.

from matplotlib.patches import Polygon

ix = np.linspace(a, b)
iy = func(ix)
verts = [(a, 0), *zip(ix, iy), (b, 0)]
poly = Polygon(verts, facecolor='0.9', edgecolor='0.5')
ax.add_patch(poly)

Füge das Integral-Label hinzu

Füge das Integral-Label zum Diagramm hinzu mit text. Das Label sollte in der Mitte zwischen a und b zentriert sein und mit Mathtext formatiert werden.

ax.text(0.5 * (a + b), 30, r"$\int_a^b f(x)\mathrm{d}x$",
        horizontalalignment='center', fontsize=20)

Füge Achsenbeschriftungen und Stricheneinteilungen hinzu

Füge die x- und y-Achsenbeschriftungen hinzu mit figtext. Verberge die oberen und rechten Rahmendenker mit spines. Setze benutzerdefinierte Stricheneinteilungen und -beschriftungen mit set_xticks und set_yticks.

fig.text(0.9, 0.05, '$x$')
fig.text(0.1, 0.9, '$y$')

ax.spines[['top', 'right']].set_visible(False)
ax.set_xticks([a, b], labels=['$a$', '$b$'])
ax.set_yticks([])

Zeige das Diagramm an

Verwende show, um das Diagramm anzuzeigen.

plt.show()

Zusammenfassung

In diesem Tutorial wurde gezeigt, wie man die Python-Bibliothek Matplotlib verwendet, um ein einfaches Liniendiagramm mit einer eingefärbten Region zu erstellen, die die Fläche unter der Kurve darstellt. Das Diagramm enthielt eine Textbeschriftung, Achsenbeschriftungen sowie benutzerdefinierte Stricheneinteilungen und -beschriftungen. Indem man den in diesem Tutorial beschriebenen Schritten folgt, können Sie ähnliche Diagramme für Ihre eigenen Daten erstellen.