我有.fit文件。我已经读过文件,用比例显示图像。当我想在.png文件中写入此图像时,.png文件正在显示没有比例的图像。我附上了我尝试的代码。
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'文件显示没有规模的图像。 请帮助我。
答案 0 :(得分:2)
我猜你所谓的比例实际上是彩条?使用fig.write_png
时确实缺少哪个,因为这里只保存图的图像部分。您应该使用plt.savefig
代替:
# 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')