我想使用matplotlib和底图在地图上绘制大约60000个形状(每个角的纬度/经度坐标)的日期集。使用matplotlib更高效地绘制多边形
这是我目前做的方式:
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)
然而,这需要我的机器上大约1.5分钟,我在想是否有可能加快速度一点。有没有更有效的方法来绘制多边形并将其添加到地图?
希望这是正常的,我添加的例子! –
Thx,很好的例子!我认为PolyCollection是关键。但是,我很困惑如何将我的lons/lats变成多边形。在你的情况“verts”。 – HyperCube
@JoeKington:很好。不幸的是,我将得到你所有努力工作的荣誉... – pelson