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 では、3 つの数字すべてがそれぞれの長方形の中心にあります。ラスタライズされた画像を作成する場合は、jpg で十分ですが、実際には pdf 出力が必要です。

これはバグですか?私は何か間違ったことをしていますか?

Mac OS X 10.8.5 の Python 2.7.3 で Matplotlib 1.2.1 を使用しています。

4

0 に答える 0