我想保存一个绘图(通过代码构建的多边形)到NumPy(不是作为图像文件),但我不知道如何才能做到这一点?!
这是我代码:
fig, ax = plt.subplots(figsize=(5.12, 5.12))
N = 3
val = np.random.rand(N, 2, 3)
patches = []
for i in range(3):
patches.append(Polygon(val[:, :, i], True))
p = PatchCollection(patches, alpha=0.6)
p.set_array(np.array([500,23,1002])) # assign values
ax.add_collection(p)
fig.colorbar(p)
plt.axis('off')
plt.show()
和绘制:a plot after run above code
谁能告诉我,我该怎么做?
1条答案
按热度按时间lmyy7pcs1#
如果你想保存多边形,你只需要记住每个多边形的顶点。对于每个形状和顶点集,最好保存为字典,因为这些是
.json
文件要处理的对象的特征。从
docs
中,Polygon()
有一个方法可以检索多边形.get_xy()
的顶点,因此我们可以使用它来获取每个顶点的坐标元组。接下来你要做的是保存
ax.add_collection
中插入的数组所指定的每个三角形中的值,我们可以把它移到代码的顶部,然后遍历值列表,把它们作为键字典中的值添加进去。然后代码变为:
从这里开始,您应该能够根据您的用例来使用该结构,但是对于所提出的问题,这应该足够了。希望这对您有所帮助!