【发布时间】:2015-08-21 13:24:26
【问题描述】:
我一直在使用具有多个建筑物顶点的 x 和 y 坐标的 shapefile,并且我正在使用 Matplotlib 将它们绘制为多边形。但是,我想根据每栋建筑物的楼层数用红色/灰色/或任何其他颜色的阴影填充这些多边形。例如,最小楼层数为零,因此所有楼层为零的建筑物都将是非常浅的颜色。另一方面,最大楼层数为 100,因此所有 100 层的建筑物会绘制得很暗,而在 0 到 100 之间的多边形会随着楼层数的增加而绘制得越来越暗。
我在网上找到了一些东西,但没有专门解决这个问题。我是 Python 新手,所以也许我只是不知道可以做我需要的正确库。
我现在的代码是这样的:(它只绘制多边形,没有填充)
import shapefile
import matplotlib.pyplot as plt
import numpy as np
i = 0
sf = shapefile.Reader('shapefile')
sr = sf.shapeRecords()
max = 10
while i < max:
sr_obj = sr[i]
sr_points = np.array(sr_obj.shape.points)
records = sf.record(i)
numfloors = records[42]
x = sr_points[:,0]
y = sr_points[:,1]
sr_plot = zip(*sr_points)
plt.plot(*sr_plot)
i = i + 1
plt.show()
谢谢!
【问题讨论】:
标签: python matplotlib plot