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.