matplotlib中的annotate在保存为pdf时将数字1偏离中心

时间:2013-10-14 18:57:45

标签: python pdf matplotlib

我发现当数字保存为pdf时,matplotlib中的annotate函数将数字1偏离中心。所有其他数字似乎没问题。例如,

import matplotlib.pylab as plt
fig = plt.figure(figsize = (5,5))
ax = plt.subplot(111)
ax.plot([0,1], [0,1])

txts = ['1', '2', '3']
y_coords = [0.9, 0.8, 0.7]
for txt, y_coord in zip(txts, y_coords):
    ax.annotate(txt, xy = (0.25, y_coord), \
        size=36, va='center', ha='center', fontname = 'Helvetica', \
        bbox=dict(boxstyle='square', fc = 'w'))

plt.savefig('Test.pdf', bbox_inches = 'tight', pad_inches = 0)
plt.savefig('Test.jpg', bbox_inches = 'tight', pad_inches = 0)

生成一个类似于

的pdf文件

pdf

和一个看起来像这样的jpg文件

jpg

在pdf中,1不在矩形的中心,但是2和3在它们各自的矩形的中心。在jpg中,所有三个数字都在它们各自的矩形的中心。如果我正在创建光栅化图像,我会对jpg感到满意,但我真的想要一个pdf输出。

这是一个错误吗?我做错了吗?

我在Mac OS X 10.8.5下的Python 2.7.3上使用Matplotlib 1.2.1

0 个答案:

没有答案