4 votes

python et Basemap et supprimer le Mexique/Canada de la vue

J'utilise Basemap dans Matplotlib pour dessiner une carte des États-Unis. Cependant, je ne parviens pas à supprimer le Mexique ou le Canada pour n'afficher que les États-Unis. J'ai besoin de dessiner également les états. Actuellement, mon code est le suivant

self.map = Basemap(llcrnrlon=-119, llcrnrlat=22, urcrnrlon=-64,
                               urcrnrlat=49, projection='lcc', lat_1=33, lat_2=45,
                               lon_0=-95, resolution='i', area_thresh=10000,ax=self.axes)

self.map.drawcoastlines()
self.map.drawcountries()
self.map.drawstates()
self.figure.canvas.draw()

Cela dessine les États-Unis avec une partie du Mexique et du Canada. Si je commente self.map.drawcountries() puis les frontières sud et nord des États-Unis sont supprimées, ce qui n'aide pas. Si je commente self.map.drawcoastlines() ce qui supprime les frontières Est et Ouest. Je ne trouve aucune autre commande qui me permette de faire dessiner uniquement les États-Unis (avec les États).

Des idées ? Merci !

6voto

Andrew Straw Points 709

Vous devez dessiner les polygones vous-même. Cela peut être fait en lisant un fichier de forme. Voir le exemple de fillstates.py qui représente les États américains (sans le Mexique ni le Canada).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X