我有一个名为'my_cube.fits'的FITS文件,带有WCS.该文件具有关于轴1和2(X和Y)的空间信息以及关于轴3(Z)的光谱信息.当我使用astropy.io.fits加载它时,谱轴为0,空间轴为1和2.文件加载如下:
import astropy.io.fits as pyfits
filename = 'my_cube.fits'
my_data = pyfits.getdata(filename)
my_header = pyfits.getheader(filename)
Run Code Online (Sandbox Code Playgroud)
我一直在使用matplotlib来显示数据,我想知道如何使用它的WCS显示我的数据立方体的单个光谱帧.让我们说:
from astropy.wcs import WCS
from matplotlib import pyplot as plt
my_wcs = WCS(my_header)
fig = plt.figure()
ax = fig.add_subplot(111, projection=my_wcs)
ax.imshow(my_data[5, :, :])
plt.show()
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我有:
...
File "/usr/local/lib/python3.4/dist-packages/matplotlib/figure.py", line 1005, in add_subplot
a = subplot_class_factory(projection_class)(self, *args, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/matplotlib/axes/_subplots.py", line 73, in __init__
self._axes_class.__init__(self, fig, self.figbox, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/wcsaxes/core.py", line 49, in __init__
self.patch = self.coords.frame.patch
File "/usr/local/lib/python3.4/dist-packages/wcsaxes/frame.py", line 129, in patch
self._update_patch_path() …Run Code Online (Sandbox Code Playgroud)