shapefile xxx包含serval多边形,我想绘制其中的一部分 所以,我打字:
## reading the xxx.shp
map.readshapefile('xxx','xxx',zorder =1,)
patches=[]
## generating the indice which mean I want to plot these polygon.
indice = [int(i) for i in np.array([5,6,7,8,11,14,17])]
for info, shape in zip(map.xxx_info, map.xxx):
x,y=zip(*shape)
patches.append( Polygon(np.array(shape), True) )
ax.add_collection(PatchCollection(patches[indice], facecolor= \
'none',edgecolor='grey', linewidths=1.5, zorder=2,alpha = 0.8))
但错误是这样的:
TypeError:llist索引必须是整数,而不是list。
我不知道如何修复它。希望得到你的帮助!
答案 0 :(得分:1)
如果你仔细观察,你会发现你正试图在{$ 1}}中使用indice
作为索引。
patches
问题是ax.add_collection(PatchCollection(patches[indice], facecolor= \
'none',edgecolor='grey', linewidths=1.5, zorder=2,alpha = 0.8))
是indice
,不能以这种方式使用。
从您的代码中,您似乎正在尝试为仅指定的索引创建补丁。为此,我将创建一个新的修补程序列表,它是list
中包含的修补程序的子集。然后使用此子集创建patches
。
PatchCollection