Ich habe ein Datumsset von etwa 60000 Formen (mit Lat/Lon Koordinaten jeder Ecke), die ich auf einer Karte mit Matplotlib und Grundkarte zeichnen möchte.Zeichnen Sie Polygone effizienter mit Matplotlib
Dies ist die Art, wie ich es im Moment tue:
for ii in range(len(data)):
lons = np.array([data['lon1'][ii],data['lon3'][ii],data['lon4'][ii],data['lon2'][ii]],'f2')
lats = np.array([data['lat1'][ii],data['lat3'][ii],data['lat4'][ii],data['lat2'][ii]],'f2')
x,y = m(lons,lats)
poly = Polygon(zip(x,y),facecolor=colorval[ii],edgecolor='none')
plt.gca().add_patch(poly)
Doch dies dauert etwa 1,5 Minuten auf meiner Maschine und ich dachte, ob es möglich ist, die Dinge ein wenig zu beschleunigen. Gibt es eine effizientere Möglichkeit, Polygone zu zeichnen und sie der Karte hinzuzufügen?
Hoffe, dass es in Ordnung ist, dass ich das Beispiel hinzugefügt! –
Thx, schönes Beispiel! Ich denke PolyCollection ist der Schlüssel. Ich bin jedoch verwirrt, wie ich meine Lons in Polygone verwandle. In Ihrem Fall "verts". – HyperCube
@JoeKington: Große Zugabe. Leider werde ich die Anerkennung für all deine harte Arbeit bekommen ... – pelson