【发布时间】:2023-04-03 21:30:01
【问题描述】:
我已经在 python 中加载并绘制了一个 FITS 文件。 在上一篇文章的帮助下,我设法将轴从像素转换为天体坐标。但我无法正确地在毫秒(mas)内得到它们。 代码如下
import numpy as np
import matplotlib.pyplot as plt
import astropy.units as u
from astropy.wcs import WCS
from astropy.io import fits
from astropy.utils.data import get_pkg_data_filename
filename = get_pkg_data_filename('hallo.fits')
hdu = fits.open(filename)[0]
wcs = WCS(hdu.header).celestial
wcs.wcs.crval = [0,0]
plt.subplot(projection=wcs)
plt.imshow(hdu.data[0][0], origin='lower')
plt.xlim(200,800)
plt.ylim(200,800)
plt.xlabel('Relative R.A ()')
plt.ylabel('Relative Dec ()')
plt.colorbar()
y标签被剪掉了,我不知道。
正如另一篇文章中显示的那样,人们可以使用
wcs.wcs.ctype = [ 'XOFFSET' , 'YOFFSET' ]
将它切换到毫秒,我得到
但比例不正确!。 例如,0deg00min00.02sec 应该是 20 mas 而不是 0.000002! 我错过了什么吗?
【问题讨论】:
-
您可能会通过包含 plt.tight_layout() 行来解决 y-label 被切断的问题。
-
没错,添加 fig = plt.figure(figsize=(add your size here)) 也有帮助。
标签: python-3.x astropy fits