绘制坐标轴发生变化的 FITS 图像

Plot a FITS image with changed axes

我想以适合的格式绘制此图像。

但我得到了这个

我试过用 imshow 改变坐标轴,但效果并不好。这是我正在使用的代码。

import matplotlib.pyplot as plt
from astropy.visualization import astropy_mpl_style
plt.style.use(astropy_mpl_style)
from astropy.utils.data import get_pkg_data_filename
from astropy.io import fits

image_file = get_pkg_data_filename('Or.fits')
fits.info(image_file)
image_data = fits.getdata(image_file, ext=0)
print(image_data.shape)

plt.figure()
plt.imshow(image_data, cmap='gray')
plt.colorbar()

从您在问题中发布的第二张图片来看,image_data 似乎具有超大的值,大多数数据点都非常小。尝试以对数方式映射数据点,希望能解决问题。

将以下内容添加到代码的开头:

from matplotlib.colors import LogNorm

并将您的绘图线更改为以下内容,以便 matplotlib 在绘制图像时使用这些值的对数。

plt.imshow(image_data, cmap='gray', norm=LogNorm())