如何在matplotlib中将颜色设置为Rectangle?我尝试使用参数颜色,但没有成功.
我有以下代码:
fig=pylab.figure()
ax=fig.add_subplot(111)
pylab.xlim([-400, 400])
pylab.ylim([-400, 400])
patches = []
polygon = Rectangle((-400, -400), 10, 10, color='y')
patches.append(polygon)
p = PatchCollection(patches, cmap=matplotlib.cm.jet)
ax.add_collection(p)
ax.xaxis.set_major_locator(MultipleLocator(20))
ax.yaxis.set_major_locator(MultipleLocator(20))
pylab.show()
Run Code Online (Sandbox Code Playgroud) 我有两个矩阵Tri,并V为我要绘制多边形面(NX3)和顶点(MX3).有没有matplotlib(或任何替代)的方式来做到这一点?类似于Matlab命令的东西
patch('faces',Tri,'vertices',V,'facecolor',
'flat','edgecolor','none','facealpha',1)
Run Code Online (Sandbox Code Playgroud) 我一直在使用一个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()
Run Code Online (Sandbox Code Playgroud)
谢谢!