在使用astropy和matplotlib创建地图时,右侧提升轴上的单位是deg / min / sec,而不是h / m / s。我没有找到一种简单的方法来选择h / m / s单位。
例如,如果我尝试复制documentation of astropy.wcs中的Horsehead星云图,则会得到R.A。轴以度/分/秒为单位。
代码很简单:
from matplotlib import pyplot as plt
from astropy.io import fits
from astropy.wcs import WCS
from astropy.utils.data import get_pkg_data_filename
filename = get_pkg_data_filename('tutorials/FITS-images/HorseHead.fits')
hdu = fits.open(filename)[0]
wcs = WCS(hdu.header)
fig = plt.figure()
fig.add_subplot(111, projection=wcs)
plt.imshow(hdu.data, origin='lower', cmap=plt.cm.viridis)
plt.xlabel('RA')
plt.ylabel('Dec')
plt.show()
应该产生这个:
正确的单位
但是我明白了
单位错误
答案 0 :(得分:0)
您可以使用:
ax = fig.gca()
ra = ax.coords[0]
ra.set_format_unit('hour')
例如如此处指定:http://docs.astropy.org/en/stable/visualization/wcsaxes/controlling_axes.html
但是,当我运行相同的示例时,它默认为小时,所以我不确定您设置了哪种配置,而默认为度。