对于闭合曲线,我有(吨)的点坐标,按x递增的顺序排序。在
如果按常规方式绘制,我得到的结果是:
我查过matplotlib,什么也没找到。(也许我的关键词搞错了…?)在
我尝试用以下方式重新格式化数据:
随机选取一个点,找到它最近的邻居,然后找到下一个最近的邻居,依此类推。。 它在边缘失败,有时数据不太一致(最近的邻居可能在曲线的另一侧)。
为了解释不一致的数据,我试图检查两点之间的坡度(被认为是最近的邻居)是否与先前连接的坡度匹配-失败,原因是我找不到。(在我放弃之前花了相当多的时间)
选择最小值和最大值(以及相应的y坐标),绘制一条虚线,并对直线两侧的点进行排序。-当曲线看起来像香蕉时失败。
有没有python包/库可以帮助我到达我想要的地方。?或者你能帮助我更好地整理我的数据点吗。?提前谢谢。在
编辑:
我试了一下我画的圆圈上的凹坑,知道为什么线条在某些地方重叠吗。?图片如下:
编辑2: 根据@Reblochon Masque在其回答中的评论部分中的建议,通过修改我的部分代码来解决问题。在
如果你不知道你的点是如何设置的(如果你这么做,我建议你按照这个顺序,它会更快),你可以使用scipy中的Convex Hull:
,在上面的示例中,结果如下:
请注意,此方法将为点创建边界框。在
下面是一个可以做你想做的事情并解决你的问题的例子: more info here
凸壳上的点分别绘制并连接成多边形。如果你愿意,你可以进一步操纵它们。在
我认为这可能是一个很好的解决方案(简单而廉价)来实施。如果你的形状是凸的,它会很好地工作。在
如果你的形状不是都是凸的,一种可能成功的方法是根据最近的邻居对点进行排序,然后从这个排序集中绘制一个多边形。在
相关问题 更多 >
编程相关推荐