我有以下代码用德语变音符号创建轴标签:
plt.xlabel('Daten')
plt.ylabel(r'$H\ddot{a}ufigkeit$')
基本上有效,并正确打印a-umlaut,但x和y标签的字体现在不同,因为x标签是以数学模式打印的。将第二行更改为
plt.ylabel(r'$\textrm{H\ddot{a}ufigkeit}$')
应该尽我所知(为了创建一个rm
类似的字体而不是数学模式字体),但给出了一个python错误:
matplotlib.pyparsing.ParseFatalException: Expected end of math '$'
如何修复此问题,以便在两个轴上都使用相同的字体,但可以使用变音符号?
答案 0 :(得分:5)
非数学变音符号为\"
:
plt.ylabel(r'H\"{a}ufigkeit')
如果您需要\ddot
,只需将$
放在那个地方:
plt.ylabel(r'H$\ddot{a}$ufigkeit')
另外,\textrm
命令仅适用于文本模式。数学模式等价物是\mathrm
:
plt.ylabel(r'$\mathrm{H\ddot{a}ufigkeit}$')
<强>更新强>
以上所有假设您已告诉matplotlib使用tex进行渲染。为此,请在代码顶部添加以下内容:
import matplotlib.pyplot as plt
plt.rc('text', usetex=True)