2015-10-13 19 views
6

Sto provando a creare una trama di coordinate galattiche usando python. Diciamo che ho questi dati:Astropy matplotlib e coordinate galattiche trama

data = [(0,261, -7,123, 13.03, 'non identificato'), (-0,326, 77, 13.03, 'Galaxies')]

Dove ogni tupla è di la forma (ra, dec, flux, type).

mi viene chiesto di utilizzare astropy + matplotlib, quindi:

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

Ecco dove nasce il mio problema, io sto usando questo codice:

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() 

Tuttavia non posso tracciare i dati in coordinate galattiche e non so perché. Inoltre ho bisogno che ogni punto sia di un colore diverso a seconda del tipo e di diverse dimensioni a seconda del valore del flusso. Ho bisogno di realizzare qualcosa di simile (io sono sorta di nuovo al pitone e non ho mai usato astropy, non ho trovato buoni esempi):

enter image description here

speranza che qualcuno potrebbe aiutare.

+0

Potresti chiarire "Non posso tracciare i dati in coordinate galattiche e non so perché?" Che cosa hai provato? Qual è stato il messaggio di errore o i punti non sono stati visualizzati? – keflavich

risposta

6

Guarda gli esempi nella parte inferiore di http://www.astropy.org/astropy-tutorials/plot-catalog.html. Un problema comune quando mi imbatto in coordinate tramando Galactic è che si desidera tracciare da -180 a +180, ma il valore predefinito è quello di dare le coordinate da 0 a 360. È possibile modificare questo con wrap_at, ad esempio:

plot(galactic.l.wrap_at(180*u.deg), galactic.b.wrap_at(180*u.deg)) 
Problemi correlati