Question

Je voudrais tracer des lignes courbes / arquées sur une carte Basemap. Je peux tracer une ligne droite à l'aide map.plot (x, y, ..), mais comment puis-je faire courbe / ont des flèches?

Dans matplotlib, cela peut être fait en utilisant annoter (..), mais Basemap n'a pas cette méthode.

Toutes les idées?

Était-ce utile?

La solution

Ceci est une question très ancienne, mais je pensais que ce serait peut-être bon de répondre de toute façon. Lorsque vous avez dit des lignes courbes, je suppose que vous vouliez dire dessiner un grand cercle. Il est un exemple de faire exactement cela dans le documentation basemap, que j'ai modifié pour le rendre un peu plus facile à modifier vous-même:

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt

m = Basemap(projection='cyl')

p0_ll =  -73.98, 40.78
p1_ll = 0.08, 51.53

m.drawgreatcircle(p0_ll[0], p0_ll[1], p1_ll[0], p1_ll[1], 
                  linewidth=2, color='b')
m.drawcoastlines()
m.fillcontinents()

plt.show()

entrer image description ici

Notez que la grande méthode du cercle ne peut pas gérer le passage des bords de la carte ( comme mentionné dans la documentation ), qui, bien que clairement documenté, est une assez grande à mon humble avis de défaut.

L'espoir qui aide quelqu'un,

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top