1

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

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

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

4

1 回答 1

6

非数学变音符号是\"

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)
于 2013-09-19T18:47:13.223 回答