用matplotlib绘制的图像不显示colorbar

时间:2017-04-26 11:13:00

标签: python matplotlib

我有.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'文件显示没有规模的图像。 请帮助我。

1 个答案:

答案 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')