dpa*_*lma 8 python plot matplotlib astropy
我试图用python制作一个银河坐标图.假设我有这些数据:
data = [(0.261,-7.123,13.03,'Unidentified'),( - 0.326,77,13.03,'Galaxies')]
每个元组的形式(ra,dec,flux,type).
我被要求使用astropy + matplotlib,所以:
c = SkyCoord(ra = ra*u.degree, dec = dec*u.degree)
galactic = c.galactic
Run Code Online (Sandbox Code Playgroud)
这是我的问题出现的地方,我正在使用此代码:
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()
Run Code Online (Sandbox Code Playgroud)
但是我无法在银河系坐标中绘制数据,我不知道为什么.另外,我需要根据类型和每种不同颜色的不同颜色取决于助焊剂的值.我需要实现这样的东西(我是python的新手,我从来没有使用过熵,我没有找到好的例子):
希望有人能提供帮助.
请查看http://www.astropy.org/astropy-tutorials/plot-catalog.html底部的示例.我在绘制银河系坐标时遇到的一个常见问题是你要绘制从-180到+180,但默认是给出从0到360的坐标.你可以改变这个wrap_at
,例如:
plot(galactic.l.wrap_at(180*u.deg), galactic.b.wrap_at(180*u.deg))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5043 次 |
最近记录: |