我一直在使用一个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()
谢谢你!