我尝试使用mathtext来获得一个特别渲染的数字标题,但它失败了。而不是我的测试标题,它只是打印神秘的人物。我做错了什么?
这是(完整)代码:
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()
这是输出图像:
答案 0 :(得分:3)
如果您使用的是RedHat,CentOS或其他一些Fedora衍生产品,您可能会看到此处描述的错误:https://bugzilla.redhat.com/show_bug.cgi?id=562421
尝试安装“stix”字体包(在CentOS / RedHat上这是“stix-fonts”)。删除你的〜/ .matplotlib / fontlist.cache文件。接下来,重新运行系统的font-cache脚本,可能是“fc-cache -f -s -v”。
现在,更改matplotlibrc设置(通过〜。/ matplotlib / matplotlibrc文件或与脚本相同的目录中的matplotlibrc文件),如下所示:
mathtext.fontset : stix
mathtext.fallback_to_cm : True
mathtext.default : it
我很想知道这是否适合你。
答案 1 :(得分:1)
显然这是与字体有关的事情。找到一个旧bug-report来解决此问题。
one of the comments中的建议是安装包lyx-fonts
。这解决了我的问题。
另一个解决方法proposed here是像这样配置mathtext渲染(在脚本的顶部):
plt.rcParams['mathtext.fontset'] = "stix"
答案 2 :(得分:0)
我怀疑编码问题。尝试运行你的程序:
LANG=C python myprogram.py