Je suis en train de tracer des lignes et des marqueurs à partir d'un fichier CSV sur une carte en utilisant matplotlib.
Lines/Pistes Non Traçage avec Matplotlib
données:
AL99,2017080912,SHIP,0,17.1,-55.6,25,0
AL99,2017080912,SHIP,12,18.1,-57.6,27,0
AL99,2017080912,SHIP,24,19.0,-59.2,29,0
AL99,2017080912,SHIP,36,20.1,-60.2,34,0
AL99,2017080912,SHIP,48,21.5,-61.6,39,0
AL99,2017080912,SHIP,60,23.3,-63.0,47,0
AL99,2017080912,SHIP,72,25.4,-65.2,54,0
AL99,2017080912,SHIP,84,27.9,-68.1,61,0
AL99,2017080912,TABD,0,17.1,-55.7,0,0
AL99,2017080912,TABD,6,17.5,-56.7,0,0
AL99,2017080912,TABD,12,17.8,-57.3,0,0
AL99,2017080912,TABD,18,18.1,-57.9,0,0
AL99,2017080912,TABD,24,18.5,-58.3,0,0
AL99,2017080912,TABD,30,19.0,-58.6,0,0
AL99,2017080912,TABD,36,19.6,-58.8,0,0
code Python:
tc = np.recfromcsv(csv_file, unpack=True, names=['stormid', 'initdate', 'mems', 'times', 'tclat', 'tclon', 'tcwind', 'tcpres'], dtype=None)
for j in range(len(tc.times)):
lon, lat = tc.tclon[j], tc.tclat[j]
xpt, ypt = m(lon, lat)
lonpt, latpt = m(xpt, ypt, inverse=True)
if tc.mems[j] == 'TABD':
tccolor = '--bo'
elif tc.mems[j] == 'AEMN':
tccolor = '-ro'
else:
tccolor = '-k'
m.plot(xpt, ypt, tccolor)
Résultat:
Je reçois les marqueurs pour tracer correctement la couleur, mais les lignes ne sont pas là.
Juste un rappel, votre code est incomplet (ce qui est 'm'?) Et mal formaté (pas de retrait après la boucle' for'). En outre, vos données ne semblent pas correspondre à votre intrigue (par exemple, votre lat dans les données est seulement entre 15 et 20, mais votre intrigue ressemble à l'Atlantique avec lat au moins jusqu'à 40). Votre question pourrait donc être difficile à résoudre et à aider pour d'autres. –
Ne vous attendez pas à recevoir une réponse lorsque vous ne fournissez pas de code complet. Sauf si vous êtes très chanceux. Habituellement, il faudra beaucoup plus d'efforts que nécessaire de la part des personnes qui se soucient de répondre. – swatchai