Riportando linea curva in Python Basemap
-
10-10-2019 - |
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?
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()
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,