我正在尝试使用python和matplotlib以及usetex选项生成一些科学论文的图表,跟随matplotlib documentation以使用LaTeX渲染文本。
这是我尝试的代码示例。
import matplotlib.pyplot as plt
plt.rc('font',**{'family':'serif','serif':['Palatino']})
plt.rc('text', usetex=True)
plt.plot([-2, 1, 4])
plt.xlabel(r'$\alpha \beta \gamma x y z$')
plt.savefig('plot.pdf')
plt.savefig('plot.png')
plt.show()
这将按预期生成所有内容,但如果我将字体更改为'Times'
,因为我希望它与我的论文文本相匹配,pdf文件将使用常规希腊字母,而不是斜体,尽管它们在png文件中是斜体,并且当使用最后一个命令显示图形时。并且使用pdf图像是更好的选择,因为质量更好。
为什么会这样?我真的需要希腊字母用斜体字。有没有人知道如何实现这一目标?我在Windows 8.1上有matplotlib 1.4.1,python 2.7.8。我的.matplotlib文件将后端设置为TkAgg
。我尝试设置matplotlib.use('PDF')
,但结果是相同的,只是plt.show()
没有显示任何内容。
由于