Erstellen eines Plots mit benutzerdefinierten Schriftarten

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 lernst du, wie du mit der Python-Matplotlib-Bibliothek einen Plot mit benutzerdefinierten Schriftarten erstellst. Du wirst auf den pgf.texsystem-Parameter eingeführt, der es dir ermöglicht, LaTeX zu verwenden, um die Schriftfamilie deines Plots anzupassen.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicke in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal musst du einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn du während des Lernens Probleme hast, kannst du Labby gerne fragen. Gib nach der Sitzung Feedback, und wir werden das Problem für dich prompt beheben.

Matplotlib importieren und den pgf.texsystem-Parameter einstellen

Zunächst musst du die Matplotlib-Bibliothek importieren und den pgf.texsystem-Parameter auf pdflatex setzen. Dieser Parameter ermöglicht es dir, LaTeX zu verwenden, um die Schriftfamilie deines Plots anzupassen.

import matplotlib.pyplot as plt

plt.rcParams.update({
    "pgf.texsystem": "pdflatex",
})

Die Schriftfamilie definieren

Als nächstes musst du die Schriftfamilie definieren, die du in deinem Plot verwenden möchtest. In diesem Beispiel werden wir die Schriftfamilie cmbright verwenden.

plt.rcParams.update({
    "pgf.texsystem": "pdflatex",
    "pgf.preamble": "\n".join([
         r"\usepackage[utf8x]{inputenc}",
         r"\usepackage[T1]{fontenc}",
         r"\usepackage{cmbright}",
    ]),
})

Den Plot erstellen

Jetzt kannst du deinen Plot mit der Funktion plt.subplots() erstellen. In diesem Beispiel werden wir einen einfachen Liniendiagramm erstellen.

fig, ax = plt.subplots(figsize=(4.5, 2.5))

ax.plot(range(5))

Text zum Plot hinzufügen

Du kannst Text zu deinem Plot hinzufügen, indem du die Funktion ax.text() verwendest. In diesem Beispiel werden wir Text mit verschiedenen Schriftfamilien hinzufügen.

ax.text(0.5, 3., "serif", family="serif")
ax.text(0.5, 2., "monospace", family="monospace")
ax.text(2.5, 2., "sans-serif", family="sans-serif")
ax.set_xlabel(r"µ ist nicht $\mu$")

Layout anpassen und Plot speichern

Schließlich kannst du das Layout deines Plots anpassen und ihn mithilfe der Funktionen fig.tight_layout() und fig.savefig() in eine Datei speichern.

fig.tight_layout(pad=.5)

fig.savefig("pgf_texsystem.pdf")
fig.savefig("pgf_texsystem.png")

Zusammenfassung

In diesem Lab hast du gelernt, wie du mit der Python Matplotlib-Bibliothek einen Plot mit benutzerdefinierten Schriftarten erstellst. Du hast den Parameter pgf.texsystem verwendet, um die Schriftfamilie deines Plots festzulegen, und die Funktion ax.text(), um Text mit verschiedenen Schriftfamilien hinzuzufügen. Du hast auch gelernt, wie du das Layout deines Plots anpassen und ihn in eine Datei speichern kannst.