2

我发现当图形保存为 pdf 时,matplotlib 中的注释函数将数字 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

4

0 回答 0