我一直在使用一个shapefile,它具有几个建筑物的顶点的x和y坐标,我使用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()
谢谢!