Как управлять осевыми единицами на карте, сделанной с помощью astropy и matplotlib? - PullRequest
0 голосов
/ 17 мая 2019

При использовании astropy и matplotlib для создания карты, единицы в правой оси подъема - град / мин / сек вместо ч / м / с. Я не нахожу простой способ в астропии, чтобы выбрать единицы h / m / s.

Например, если я попытаюсь воспроизвести карту туманности Конская Голова, как в документации astropy.wcs , я получу 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()

Предполагается произвести это:
правильные единицы

1

но я понимаю:

неправильные единицы

wrong units

1 Ответ

0 голосов
/ 17 мая 2019

Вы можете использовать:

ax = fig.gca()
ra = ax.coords[0]
ra.set_format_unit('hour')

например. как указано здесь: http://docs.astropy.org/en/stable/visualization/wcsaxes/controlling_axes.html

Однако, когда я запустил тот же пример, он по умолчанию показывал часы, поэтому я не уверен, какую конфигурацию вы установили, вместо того, чтобы использовать по умолчанию градусы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...