gpt4 book ai didi

python - 如何使用 matplotlib 在 Python 中填充多边形内的区域?

转载 作者:太空狗 更新时间:2023-10-30 01:06:35 24 4
gpt4 key购买 nike

这是我试过的代码:

from scipy.spatial import ConvexHull
points = np.random.rand(30, 2) # 30 random points in 2-D
hull = ConvexHull(points)

import matplotlib.pyplot as plt
%matplotlib inline
corners=[]
for simplex in hull.simplices:
corners+=list(simplex)
plt.fill(points[corners, 0], points[corners, 1], 'k',alpha=0.3)

我唯一能得到的情节是: Convex Hull of random set of points in matplotlib如您所见,它已部分填充。

但我希望这个多边形内的所有区域都应该被填充。

有哪些实现方式?

非常感谢您的建议!

更新:一个答案!!!

其实我刚刚找到了答案。它在 the official site of SciPy 上:

We could also have directly used the vertices of the hull, which for 2-D are guaranteed to be in counterclockwise order

所以为了做我想做的事,我只需要使用:

plt.fill(points[hull.vertices,0], points[hull.vertices,1], 'k', alpha=0.3)

而不是我上面代码的最后 4 行。

这个问题/答案可能会对其他人有所帮助。

最佳答案

其实我刚刚找到了答案。它在 SciPy 的官方网站上:

We could also have directly used the vertices of the hull, which for 2-D are guaranteed to be in counterclockwise order So to do what I want I just needed to use:

plt.fill(points[hull.vertices,0], points[hull.vertices,1], 'k', alpha=0.3)

而不是我上面代码的最后 4 行。

这个问题/答案可能会对其他人有所帮助。

关于python - 如何使用 matplotlib 在 Python 中填充多边形内的区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36250793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com