Matplotlib中的\ overline {}不起作用

时间:2015-02-06 20:35:33

标签: python matplotlib latex

背景:这是产生错误的最小工作示例:

from matplotlib import pyplot as plt

plt.plot([0,1,2],[0,1,2],label=r"$\alpha$")
plt.plot([0,1,2],[0,1,2],label=r"$\overline{a}$") #This is the offending line
plt.legend(loc='best')
plt.show()

运行此命令会在相当长的Traceback列表后生成以下错误消息:

pyparsing.ParseFatalException: Expected end of math '$'
$\overline{a}$ (at char 0), (line:1, col:1)

我也收到了这个警告,我不确定是否与我的问题有关,因为无论我是否在我的剧本中包含“违规行”,都会发生这样的警告:

/usr/lib64/python2.6/site-packages/matplotlib/font_manager.py:1242: UserWarning: findfont: Font family ['cmb10'] not found. Falling back to Bitstream Vera Sans  (prop.get_family(), self.defaultFamily[fontext]))
/usr/lib64/python2.6/site-packages/matplotlib/font_manager.py:1252: UserWarning: findfont: Could not match :family=Bitstream Vera Sans:style=normal:variant=normal:weight=normal:stretch=normal:size=12. Returning /usr/share/fonts/un-core/UnDotum.ttf  UserWarning)
/usr/lib64/python2.6/site-packages/matplotlib/font_manager.py:1242: UserWarning: findfont: Font family ['cmtt10'] not found. Falling back to Bitstream Vera Sans  (prop.get_family(), self.defaultFamily[fontext]))
/usr/lib64/python2.6/site-packages/matplotlib/font_manager.py:1242: UserWarning: findfont: Font family ['cmss10'] not found. Falling back to Bitstream Vera Sans  (prop.get_family(), self.defaultFamily[fontext]))

如果我没有包含“违规行”,因为我已经指定它在上面,那么一切正常。我尝试过各种未在此处显示的内容,这些内容使我得出结论,问题的核心是\overline{}。但是,我不知道为什么它不起作用,因为documentation\overline{}一旦被置于$$之内就应该有效。

以前我使用plt.rc('text',usetex=True)来解决这个问题,但现在我正在研究我计划包含在出版物中的图表,我正在努力微调字体大小和样式以获得最佳可读性并使用{{ 1}}强制我的刻度标签使用默认的LaTeX字体而不是我想要使用的字体。

Python版本:2.6.6

1 个答案:

答案 0 :(得分:1)

我尝试了你的代码片段,它似乎对我有用。

enter image description here

这是你想要完成的吗? python版本:2.7
matplotlib版本:1.3.1。