図を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ファイルを生成します
そして、このようなjpgファイル
pdf では、1 は長方形の中心にありませんが、2 と 3 はそれぞれの長方形の中心にあります。jpg では、3 つの数字すべてがそれぞれの長方形の中心にあります。ラスタライズされた画像を作成する場合は、jpg で十分ですが、実際には pdf 出力が必要です。
これはバグですか?私は何か間違ったことをしていますか?
Mac OS X 10.8.5 の Python 2.7.3 で Matplotlib 1.2.1 を使用しています。