天体图和绘制银河坐标

2024-04-26 03:53:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图用python绘制银河系坐标图。假设我有这些数据:

数据=[(0.261,-7.123,13.03,'未识别'),(-0.32677,13.03,'星系')]

其中每个元组的形式是(ra,dec,flux,type)。

我被要求使用astropy+matplotlib,所以:

c = SkyCoord(ra = ra*u.degree, dec = dec*u.degree)
galactic = c.galactic

这就是我的问题所在,我使用的代码是:

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
# lon_0 is central longitude of projection.
# resolution = 'c' means use crude resolution coastlines.
m = Basemap(projection='hammer',lon_0=0,resolution='c')
m.drawcoastlines()
m.fillcontinents(color='coral',lake_color='aqua')
# draw parallels and meridians.
m.drawparallels(np.arange(-90.,120.,30.))
m.drawmeridians(np.arange(0.,420.,60.))
m.drawmapboundary(fill_color='aqua')
plt.title("Hammer Projection")
plt.show()

但是我不能用银河系的坐标来绘制数据,我也不知道为什么。我还需要每个点都是不同的颜色取决于类型,不同的大小取决于通量的值。我需要实现这样的目标(我是python的新手,我从未使用过astropy,我没有找到好的例子):

enter image description here

希望有人能帮忙。


Tags: 数据importmatplotlibnp绘制pltdeccolor