![](/img/trans.png)
[英]WCS as matplotlib projection for a data-cube slice loaded using astropy?
[英]Clearing a matplotlib axis labels, ticks and locators while using the astropy WCS projection
我正在使用 matplotlib 创建一个绘图网格,它使用天体世界坐标系投影。
我想完成清除其中一个轴(没有标题、标签或刻度),但我无法使用传统命令。
该脚本重现了这些问题:
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)
ax = plt.subplot(projection=wcs)
ax.imshow(hdu.data, vmin=-2.e-5, vmax=2.e-4, origin='lower')
ax.grid(color='white', ls='solid')
ax.update({'xlabel': 'Galactic Longitude', 'ylabel': ''})
ax.yaxis.set_ticklabels([], minor=True)
ax.yaxis.set_major_locator(plt.NullLocator())
plt.show()
我想知道是否有人可以分享任何建议
谢谢你。
代码和 label 不会更改,因为投影将在其为空时填充默认值。 您可以将它们设置为空白,例如'ylabel': ' '
。
但是将投影定义从wcs
更改为wcs[0]
是创建所需图形的最快方法。
ax = plt.subplot(projection=wcs[0])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.