2
ヒートマップをEPSファイルとして補間なしでエクスポートしたいとします。 imshow()
とinterpolation='nearest'
を使用して、PDF(またはPNGまたはSVG)としてエクスポートすると、画像は補間なしで正しく表示されます。 EPSとしてエクスポートすると、interpolation='nearest'
は無視されるようです。Matplotlib EPSエクスポートは補間= 'nearest'を無視します
補間なしでEPSとして書き出す方法はありますか?ここで
は、エクスポートファイルタイプの違いを示すサンプルコードです:matplotlibのの
import numpy as np
import matplotlib.pyplot as plt
data = np.random.rand(4,4)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.imshow(data,interpolation='nearest')
fig.savefig('test.eps')
fig.savefig('test.pdf')
fig.savefig('test.png')
私は誤りを再現できません。コードをコピー&ペーストして保存した図を調べると、すべて同じに見えます。私はPython 2.7.1でUbuntu 11.04でmatplotlibバージョン0.99.3を使用しています。 – ely
私はPython 2.7.2でMac OSXでmatplotlib 1.0.1を使用しています。 OS固有のEPSバックエンドの違いによるものでしょうか? – johndmurray
確かに可能です。試してみることの1つは、imagemagickのようなコマンドラインユーティリティを使用して、保存後にPDFをEPSに変換することです。それは痛みですが、うまくいくかもしれません。それがうまくいけば、 'os'モジュールを使ってPythonスクリプトから毎回コマンドを発行することさえできます。 – ely