在Python Matplotlib中将多边形层添加到现有绘图

在Python Matplotlib中将多边形层添加到现有绘图,python,matplotlib,shape,triangulation,shading,Python,Matplotlib,Shape,Triangulation,Shading,目前我正在使用tripcolor函数对3D点数据进行三角剖分和着色。我得到的是一张地图数据的截图。我还想使用更多的数据。我还有一个包含一组多边形的shapefile。我的工作目标是对屋顶类型进行分类。因此,shapefile中的形状是边界,包括地图中可以看到的屋顶。我现在拥有的是x-y和z坐标中的点集,因此我可以渲染您可以在下面看到的地图。我怎样才能在这个绘图中再添加一层,将形状的多边形绘制到地图中 plt.tripcolor(x, y, z, shading='gouraud') 可以使用多

目前我正在使用tripcolor函数对3D点数据进行三角剖分和着色。我得到的是一张地图数据的截图。我还想使用更多的数据。我还有一个包含一组多边形的shapefile。我的工作目标是对屋顶类型进行分类。因此,shapefile中的形状是边界,包括地图中可以看到的屋顶。我现在拥有的是x-y和z坐标中的点集,因此我可以渲染您可以在下面看到的地图。我怎样才能在这个绘图中再添加一层,将形状的多边形绘制到地图中

plt.tripcolor(x, y, z, shading='gouraud')

可以使用多个集合在绘图上添加形状

import matplotlib.pyplot as plt
from matplotlib import collections
import numpy as np; np.random.seed(17)

b = np.random.rand(100,3)

fig, ax = plt.subplots()
ax.tripcolor(b[:,0],b[:,1],b[:,2], shading='gouraud')

polys = [np.random.rand(4,2)*.3+np.random.rand(1,2)*((2*i+1)/6.) for i in range(3)]
pc = collections.PolyCollection(polys, color="crimson")    
ax.add_collection(pc)

plt.show()