2

我试图使用 mathtext 来获得一个特别渲染的图形标题,但它失败了。而不是我的测试标题,它只是打印了神秘的字符。我究竟做错了什么?

  • 操作系统:Fedora release 18 (Spherical Cow)
  • Python 和 matplotlib 通过 yum 从官方存储库安装

这是(完整)代码:

import sys
print sys.version             # prints:
                              # 2.7.3 (default, Aug  9 2012, 17:23:57)
                              # [GCC 4.7.1 20120720 (Red Hat 4.7.1-5)]
import matplotlib
print matplotlib.__version__  # prints:
                              # 1.2.0

import matplotlib.pyplot as plt
plt.plot([1,5])
plt.title(r"$1.2345$")
plt.show()

这是输出图像: 奇怪的标题渲染

4

2 回答 2

4

如果您使用 RedHat、CentOS 或其他 Fedora 衍生产品,您可能会看到此处描述的错误:https ://bugzilla.redhat.com/show_bug.cgi?id=562421

尝试安装“stix”字体包(在 CentOS/RedHat 上这是“stix-fonts”)。删除你的 ~/.matplotlib/fontlist.cache 文件。接下来,重新运行系统的字体缓存脚本,可能是“fc-cache -f -s -v”。

现在,更改 matplotlibrc 设置(通过 ~./matplotlib/matplotlibrc 文件或与脚本位于同一目录中的 matplotlibrc 文件),如下所示:

mathtext.fontset : stix 
mathtext.fallback_to_cm : True
mathtext.default : it 

我很想知道这是否适合你。

于 2013-02-05T21:44:53.530 回答
1

显然这是与字体相关的事情。找到一个旧的错误报告来解决这个问题。

其中一条评论中的建议是安装该软件包lyx-fonts。这为我解决了这个问题。


这里提出的另一个解决方法是像这样配置 mathtext 渲染(在脚本的顶部):

plt.rcParams['mathtext.fontset'] = "stix"
于 2013-02-05T21:59:41.120 回答