Domanda

Vorrei Plot curvo / linee arcuate su una mappa Basemap. Posso tracciare una linea retta utilizzando map.plot (x, y, ..), ma come faccio a farlo curvo / avere frecce?

In matplotlib, questo può essere fatto utilizzando annotate (..), ma Basemap non ha questo metodo.

Tutte le idee?

È stato utile?

Soluzione

Questa è una domanda molto vecchio, ma ho pensato che potrebbe essere buono per rispondere in ogni caso. Quando hai detto linee curve, ho pensato si intende disegnare un grande cerchio . V'è un esempio di fare esattamente che nel basemap documentazione , che ho modificato per renderlo un po 'più facile da modificare da soli:

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

entrare descrizione dell'immagine qui

Si noti che il metodo della circonferenza non può gestire l'attraversamento dei bordi della mappa ( come indicato nella documentazione), la quale, anche se chiaramente documentato, è una graziosa importante IMHO difetto.

La speranza che aiuta qualcuno,

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top