2017-04-26 10 views
-1

私は.fitファイルを持っています。私はファイルを読んで、スケールでイメージを表示しました。この画像を.pngファイルに書きたい場合、.pngファイルには縮尺なしの画像が表示されています。私は試したコードを添付しています。画像がカラーバーを表示していないmatplotlibでプロットされました

import pyfits 
import matplotlib 
import matplotlib.pyplot as plt 
%matplotlib inline 

hdulist = pyfits.open('HMI20170425_134641_6173.fits') 
image_data = hdulist[0].data 
hdulist.close() 
fig=plt.imshow(image_data, cmap='gray') 
plt.colorbar() 
fig.write_png('image.png') 

出力画像に縮尺が表示されています。しかし、 'image.png'ファイルは縮尺のない画像を表示します。 この点で私を助けてください。

答えて

2

というスケールは、実際にはカラーバーですか?です。 fig.write_pngを使用したときに実際には表示されないのは、プロットの画像部分のみを保存するためです。

# use astropy instead of pyfits which is no more maintained 
import astropy.io.fits as pyfits 

import matplotlib.pyplot as plt 
%matplotlib inline 

image_data = pyfits.getdata('HMI20170425_134641_6173.fits') 
plt.imshow(image_data, cmap='gray') 
plt.colorbar() 
plt.savefig('image.png') 
+0

お礼:はい。それは私の目的を解決するために本当にうまくいく。 – Chandan

関連する問題