Теперь я считаю, что этот метод правильный, спасибо за хороший ответ.

я есть файл с данными об астрономическом объекте. Я могу построить это так:

from astropy.io import fits
from astropy.wcs import WCS

hdul = fits.open(fitsfilename)[0]

wcs = WCS(hdul.header)
fig = plt.figure(figsize=(12,12))
fig.add_subplot(111, projection=wcs)
plt.imshow(hdul.data)

Это работает, и производит хорошее изображение:

Я хотел бы добавить некоторые дополнительные функции к этому сюжету, который не работает. Например, давайте попробуем добавить круг до 119 °, -67 ° 30 '. Я расширяю код:

plt.scatter([119],[-67.5],c='r',s=500)

Что я получаю это:

Что на самом деле не то, что мы хотели, круг составляет около 118 ° 5 ', -67 ° 5', а не там, где он должен быть (119 °, -67 ° 30 ').

Что я делаю не так, или что является хорошим решением этой проблемы?

Примечание: когда я бегуwcs = WCS(hdul.header)Я получаю предупреждение:

ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: Сообщения об ошибках проверки: [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: Карта 'A_2_0' не соответствует стандарту FITS (недопустимая строка значения: '3.29341755408e-05'). Исправлена ​​карта 'A_2_0' для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: Примечание: astropy.io.fits использует индексирование с нуля. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'A_1_1' не соответствует стандарту FITS (недопустимая строка значения: '1.51709339878e-05'). Исправлена ​​карта «A_1_1» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'A_0_2' не соответствует стандарту FITS (недопустимая строка значения: '5.17973753556e-06'). Исправлена ​​карта «A_0_2» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'B_2_0' не соответствует стандарту FITS (недопустимая строка значения: '2.97627426087e-06'). Исправлена ​​карта «B_2_0» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'B_1_1' не соответствует стандарту FITS (недопустимая строка значения: '2.71948126373e-05'). Исправлена ​​карта «B_1_1» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'B_0_2' не соответствует стандарту FITS (недопустимая строка значения: '1.66848449653e-05'). Исправлена ​​карта «B_0_2» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'AP_1_0' не соответствует стандарту FITS (недопустимая строка значения: '1.79541533196e-06'). Исправлена ​​карта 'AP_1_0' для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: Карта 'AP_0_1' не соответствует стандарту FITS (недопустимая строка значения: '9.20624843151e-07'). Исправлена ​​карта «AP_0_1» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: Карта 'AP_2_0' не соответствует стандарту FITS (недопустимая строка значения: '-3.29292923201e-05'). Исправлена ​​карта 'AP_2_0' для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'AP_1_1' не соответствует стандарту FITS (недопустимая строка значения: '-1.51738446887e-05'). Исправлена ​​карта «AP_1_1» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'AP_0_2' не соответствует стандарту FITS (недопустимая строка значения: '-5.18321445978e-06'). Исправлена ​​карта «AP_0_2» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: Карта 'BP_1_0' не соответствует стандарту FITS (недопустимая строка значения: '8.99029048217e-07'). Исправлена ​​карта «BP_1_0» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'BP_0_1' не соответствует стандарту FITS (недопустимая строка значения: '1.15967736014e-06'). Исправлена ​​карта «BP_0_1» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: Карта 'BP_2_0' не соответствует стандарту FITS (недопустимая строка значения: '-2.97837492348e-06'). Исправлена ​​карта «BP_2_0» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: Карта 'BP_1_1' не соответствует стандарту FITS (недопустимая строка значения: '-2.71998518336e-05'). Исправлена ​​карта «BP_1_1» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'BP_0_2' не соответствует стандарту FITS (недопустимая строка значения: '-1.66872388359e-05'). Исправлена ​​карта «BP_0_2» для соответствия стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'WCSR_PRJ' не соответствует стандарту FITS (недопустимая строка значения: '3.6679e-07'). Исправлена ​​карта WCSR_PRJ, соответствующая стандарту FITS. [astropy.io.fits.verify] ПРЕДУПРЕЖДЕНИЕ: VerifyWarning: карта 'WCSR_PIX' не соответствует стандарту FITS (недопустимая строка значения: '8.2565e-05'). Исправлена ​​карта WCSR_PIX, соответствующая стандарту FITS. [Astropy.io.fits.verify]

Так что это может быть актуально; Вопрос о том, как это исправить, до сих пор не решен.