> > #!/usr/bin/python > #Project Storm: Plot trajectories of convective systems > #import libraries > > import numpy as np > from mpl_toolkits.basemap import Basemap > import matplotlib.pyplot as pl > > # Plot a map for Mexico > > m = Basemap(projection='cyl', llcrnrlat=12, > urcrnrlat=35,llcrnrlon=-120, urcrnrlon=-80, resolution='c', > area_thresh=1000.) > m.bluemarble() > m.drawcoastlines(linewidth=0.5) > m.drawcountries(linewidth=0.5) > m.drawstates(linewidth=0.5) > > #Draw parallels and meridians > > m.drawparallels(np.arange(10.,35.,5.)) > m.drawmeridians(np.arange(-120.,-80.,10.)) > m.drawmapboundary(fill_color='aqua') > > #Open file whit numpy > > El código anterior es lo que quieres. A partir de aquí usaría:
data = np.array([['19.70','-95.20','2/5/04 6:45 AM','1','-38','CCM'], ['19.70','-94.70','2/5/04 7:45 AM','1','-48','CCM'], ['19.30','-93.90','2/5/04 8:45 AM','1','-60','CCM'], ['19.00','-93.50','2/5/04 9:45 AM','1','-58','CCM'], ['19.00','-92.80','2/5/04 10:45 AM','1','-50','CCM'], ['19.20','-92.60','2/5/04 11:45 AM','1','-40','CCM'], ['19.90','-93.00','2/5/04 12:45 PM','1','-43','CCM'], ['20.00','-92.80','2/5/04 1:15 PM','1','-32','CCM'], ['23.10','-100.20','30/5/04 4:45 AM','2','-45','SCME'], ['23.20','-100.00','30/5/04 5:45 AM','2','-56','SCME'], ['23.30','-100.00','30/5/04 6:45 AM','2','-48','SCME'], ['23.30','-100.20','30/5/04 7:45 AM','2','-32','SCME'], ['23.40','-99.00','31/5/04 3:15 AM','3','-36','SCM'], ['23.50','-98.90','31/5/04 4:15 AM','3','-46','SCM'], ['23.60','-98.70','31/5/04 5:15 AM','3','-68','SCM'], ['23.70','-98.80','31/5/04 6:15 AM','3','-30','SCM']]) latitude = data[:,0].astype(np.float) longitude = data[:,1].astype(np.float) ## x, y no te hacen falta para nada en este contexto #Plot the points on the map, puedes usar un for. En este caso son solo tres casos y lo pongo explícito. pl.plot(longitude[data[:,3] == '1'], latitude[data[:,3] == '1'],'ro-') # El primer ¿sistema convectivo de mesoescala? pl.plot(longitude[data[:,3] == '2'], latitude[data[:,3] == '2'],'yo-') # el segundo pl.plot(longitude[data[:,3] == '3'], latitude[data[:,3] == '3'],'go-') # y el tercero pl.show() Para el tema de tamaños de figura y etiquetas en la trayectoria puedes echarle un ojo a: http://pybonacci.wordpress.com/tag/tutorial-matplotlib-pyplot/ Si solo te interesa ver la zona de México donde suceden las tormentas, acótalo en: m = Basemap(projection='cyl', llcrnrlat=12, urcrnrlat=35,llcrnrlon=-120, urcrnrlon=-80, resolution='c', area_thresh=1000.) Saludos.
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/