【发布时间】:2022-01-27 05:59:14
【问题描述】:
我正在尝试将下面显示的区域全部设为绿色。
到目前为止,我使用这个: 但并不是整个四边形都是彩色的。
x,y = [3.3333333333333335, 5.0, -0.0, -0.0], [3.333333333333333, 0.0, 5.0, 0.0]
my_plot.fill(x, y, "g")
在这个特定示例中,可以修复 x 和 y 的旋转。但在其他时候就不行了。
有没有办法填充给定点之间区域之间的所有内容,而不管点的任何顺序?
解决方案:
from scipy.spatial import ConvexHull
points = np.array(Utils2D.get_valid_intersections(lin_prog.constraints))
hull = ConvexHull(points)
my_plot.fill(points[hull.vertices, 0], points[hull.vertices, 1])
【问题讨论】:
-
您可以计算点的凸包,然后填充该多边形。
-
我该怎么做@JohanC?我的点已经是凸包了,不是吗?我的意思是我的形状是凸的。
-
您可以并且应该发布您的解决方案作为答案和accept this answer。
标签: python matplotlib polygon