Python 如何在matplotlib中使用latex创建外观“正常”的轴标签

Python 如何在matplotlib中使用latex创建外观“正常”的轴标签,python,matplotlib,latex,Python,Matplotlib,Latex,我使用以下代码创建带有德国umlauts的axis标签: 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.

我使用以下代码创建带有德国umlauts的axis标签:

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 '$'
如何解决此问题,以便在两个轴上使用相同的字体,但可以使用umlaut?

非数学umlaut是\:

如果您需要\d请不要仅将$

plt.ylabel(r'H$\ddot{a}$ufigkeit')
另一方面,\textrm命令仅在文本模式下工作。等效数学模式为\mathrm:

更新

以上所有内容都假设您已告知matplotlib使用tex进行渲染。为此,请在代码顶部添加以下内容:

import matplotlib.pyplot as plt
plt.rc('text', usetex=True)
非数学术语是\:

如果您需要\d请不要仅将$

plt.ylabel(r'H$\ddot{a}$ufigkeit')
另一方面,\textrm命令仅在文本模式下工作。等效数学模式为\mathrm:

更新

以上所有内容都假设您已告知matplotlib使用tex进行渲染。为此,请在代码顶部添加以下内容:

import matplotlib.pyplot as plt
plt.rc('text', usetex=True)

你的建议行不通。标签现在是:H\{a}ufigkeit而不是Häufigkeit。也许我需要为matplotlib设置一些特殊的东西…?你告诉matplotlib使用tex进行渲染了吗?你的建议不起作用。标签现在是:H\{a}ufigkeit而不是Häufigkeit。也许我需要为matplotlib设置一些特殊的东西…?你告诉matplotlib使用tex渲染了吗?