Ich versuche, eine Gleichung im LaTeX-Stil in einem Matplotlib-Plot mit einer benutzerdefinierten Schriftart anzuzeigen (
). Ich möchte, dass sowohl die Gleichung als auch der umgebende Text dieselbe aufrechte Schriftart (nicht kursiv) verwenden. Die Verwendung des LaTeX-Pakets ist akzeptabel, daher können XeLaTeX oder LuaLaTeX verwendet werden.
Hier ist ein Minimalbeispiel:
Code: Select all
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Algerian'
plt.rcParams['font.weight'] = 'bold'
plt.rcParams['font.size'] = 10
plt.figure()
plt.text(0.1, 0.5, r"$a*ln(x)*x^2+2$", fontfamily='Algerian')
plt.show()
Das
Problem besteht darin, dass normaler Text zwar die Schriftarteinstellungen berücksichtigt, der mathematische Text jedoch nicht die algerische-Schriftart erbt und außerdem standardmäßig kursiv ist.
Mir ist bewusst, dass Matplotlib-Mathetext immer die mathematische Schriftart verwendet (
standardmäßig). In meiner realen Anwendung sind die Ausdrücke viel komplexer, was es sehr schwierig macht, alles auf einfachen Text umzustellen oder Unicode zu verwenden.
Gibt es eine Möglichkeit, sowohl die benutzerdefinierte Hochschrift als auch die richtige LaTeX-Formatierung in Matplotlib zu haben?