如何在matplotlib中使用乳胶创建“正常”的轴标签

时间:2013-09-19 18:43:36

标签: python matplotlib latex

我有以下代码用德语变音符号创建轴标签:

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 '$'

如何修复此问题,以便在两个轴上都使用相同的字体,但可以使用变音符号?

1 个答案:

答案 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)