目前我正在使用tripcolor函数进行3D点数据的三角测量和着色。我得到的是地图数据的剪切。而且我想要使用更多数据。我还有一个包含一组多边形的shapefile。我的工作目标是对屋顶类型进行分类。因此shapefile中的形状是边框,其中包括您可以看到的地图中的屋顶。我现在拥有的是x-y和z坐标中的点集,因此我可以渲染下面可以看到的地图。如何在此绘图中再添加一个图层,将图形的多边形绘制到地图中?
plt.tripcolor(x, y, z, shading='gouraud')
答案 0 :(得分:2)
可以使用PolyCollection在绘图上添加形状。
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()