Mam zestaw dat z około 60000 kształtów (ze współrzędnymi długości/szerokości każdego rogu), które chcę narysować na mapie przy użyciu matplotlib i mapy bazowej.Narysuj wielokąty wydajniej z matplotlib
ten sposób robię to w tej chwili:
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)
Jednak ta trwa około 1,5 minuty na moim komputerze i myślałem, czy możliwe jest, aby przyspieszyć trochę. Czy istnieje skuteczniejszy sposób rysowania wielokątów i dodawania ich do mapy?
nadzieję, że to w porządku, że dodałem przykład! –
Thx, ładny przykład! Myślę, że PolyCollection jest kluczem. Jednak jestem zdezorientowany, jak włączyć moje lony/łaty w wielokątów. W twoim przypadku "wersety". – HyperCube
@JoeKington: Świetny dodatek. Niestety dostanę za ciebie całą ciężką pracę ... – pelson