0

アストロピーで画像を表示する際に問題が発生しています。これが私のコードです:

from astropy.io import fits
import matplotlib.pyplot as plt
hdu_list=fits.open("500m2deep.fit")
image_data=hdu_list[0].data
hdu_list.close()
plt.imshow(image_data,cmap='gray')
plt.show()

ファイルを開くと正常に動作し、エントリなどを表示できimage_dataます。しかし、使用すると画像が表示されませんimshow。次のエラーが表示されます。

C:\Python27\lib\site-packages\IPython\core\formatters.py:239: FormatterWarning: 画像/png フォーマッタの例外: FormatterWarning,

一部のサイトで提案されているように、%matplotlibインラインなどを使用すると、このエラーは消えますが、画像がまったく表示されず、プログラムが実行され、終了し、画像がポップアップしません。plt.figure(以前に )のようなものを追加しようとしましimshow()たが、それも役に立ちません。

これは、Spyder、Ipython、または Ipython Notebook を使用している場合に発生します。このすべてに最新バージョンの python(x,y) を使用しています。

どうすれば写真を表示できますか?

4

1 に答える 1

0

あなたにとって有用な解決策になるには遅すぎるかもしれませんが、他の誰かが利益を得ることができるかもしれません. 私は最近、Ubuntu 16.04、python 3.5、および Astropy 1.1.1 で、astropy の Web サイトのサンプル コード (最初と最後の行は私が追加したもの) を使用して同じ問題に遭遇しました。

#!/usr/bin/python3
import matplotlib.pyplot as plt
from astropy.wcs import WCS
from astropy.io import fits
from astropy.utils.data import get_pkg_data_filename

filename = get_pkg_data_filename('galactic_center/gc_msx_e.fits')

hdu = fits.open(filename)[0]
wcs = WCS(hdu.header)
plt.subplot(projection=wcs)
plt.imshow(hdu.data, vmin=-2.e-5, vmax=2.e-4, origin='lower')
plt.grid(color='white', ls='solid')
plt.xlabel('Galactic Longitude')
plt.ylabel('Galactic Latitude')
plt.show()

Figure ウィンドウは開きましたが、イメージ データは表示されませんでした。astropy のバージョンを 1.3 に更新すると (numpy も 1.11.3 に更新されます)、問題が修正されました。今では正常に動作します。

于 2016-12-28T14:02:47.403 に答える