python - 在 Python Matplotlib 中向现有绘图添加多边形层

标签 python matplotlib shapes triangulation shading

目前我正在使用 tripcolor 函数进行 3D 点数据的三角测量和着色。我得到的是 map 数据的剪裁。我想使用更多数据。我还有一个包含一组多边形的形状文件。我的工作目标是对屋顶类型进行分类。因此,shapefile 中的形状是边界,其中包括您可以看到的 map 中的屋顶。我现在拥有的是 x、y 和 z 坐标中的一组点,这样我就可以渲染您在下面看到的 map 。如何在此图中再添加一层,将形状的多边形绘制到 map 中?

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

enter image description here

最佳答案

可以使用 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()

enter image description here

关于python - 在 Python Matplotlib 中向现有绘图添加多边形层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44064277/

相关文章:

android - 如何在屏幕底部创建一个不是矩形的屏幕安卓键盘?

css - Bootstrap 中的 Fontawesome 图标不是方形的

python - 模块未找到错误: No module named 'plotly'

python - 使用正则表达式匹配字符串(特定字符串组合除外)

image-processing - fitEllipse 在 OpenCV 中如何工作?

python - PyQt4 matplotlib 不绘制我的实时数据

python - 使 Matplotlib 按钮回调立即生效,而不是在将鼠标移开按钮后生效

python - sqlalchemy 按计数列过滤

python - 通过更大的矩阵迭代子矩阵

Python 绘制 PDF 多图