- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有(大量)闭合曲线点的坐标按 x 递增顺序排序。
当以常规方式绘制时,我得到的结果是这样的:
我已经查看了 matplotlib,但找不到任何东西。 (也许我的关键字有误...?)
我尝试通过以下方式重新格式化数据:
随机选取一个点,找到它最近的邻居,然后找到下一个最近的邻居,依此类推。它在边缘失败,有时数据不太一致(最近的邻居可能在曲线的另一侧)。
为了解决不一致的数据,我尝试检查两点(被视为最近邻)之间的斜率是否与之前连接的斜率匹配 - 失败,原因我找不到。 (在我放弃之前花了相当多的时间)
选择 x_minimum 和 x_maximum(以及相应的 y 坐标)并绘制一条假想线,并对线两侧的点进行排序。 - 当曲线看起来像香蕉时失败。
是否有 python 包/库可以帮助我到达我想要的地方。?或者你能帮我想出更好地排序数据点的想法吗?提前致谢。
编辑:
在我的圆上尝试了 ConcaveHull,知道为什么线条在某些地方重叠。?这是图片:
编辑 2:按照@Reblochon Masque 在他的回答的评论部分中的建议,通过更改我的部分代码解决了这个问题。
最佳答案
如果你不知道你的积分是如何设置的(如果你知道我建议你按照那个顺序,它会更快)你可以使用 Convex Hull来自 scipy:
import matplotlib.pyplot as plt
from scipy.spatial import ConvexHull
# RANDOM DATA
x = np.random.normal(0,1,100)
y = np.random.normal(0,1,100)
xy = np.hstack((x[:,np.newaxis],y[:,np.newaxis]))
# PERFORM CONVEX HULL
hull = ConvexHull(xy)
# PLOT THE RESULTS
plt.scatter(x,y)
plt.plot(x[hull.vertices], y[hull.vertices])
plt.show()
,在上面的例子中结果是这样的:
请注意,此方法将为您的点创建一个边界框。
关于python - 在 matplotlib 中绘制一组给定点以形成闭合曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36763853/
当我在定点 Z3Py 中启用解释生成选项时,我收到包含以下消息的核心转储。 Error setting 'DL_GENERATE_EXPLANATIONS', reason: unknown opti
我正在开发一些代码,可以从 HW 获取浮点或定点数据。目前我们将其作为 float 。 底层API都是定点的。所以我们必须将数据作为定点传回。我们使用的算法是 Cholesky。我想知道为什么我们必须
我有一个关于在 MATLAB 中为 Texas Instruments TMS320C64xx DSP 编写算法的问题: 我在 MATLAB 中草率地实现了我的过滤器。我的目标是使用 MATLAB E
我需要将 float 转换为Q31定点,Q31表示1个符号位,0位表示整数部分,31位表示小数部分。这意味着 Q31 只能表示 [-1,0.9999] 范围内的数字。 根据定义,从浮点转换为定点时,会
我正在使用第 3 方定点 antilog() 函数来计算分贝 out_mag = 10^( in_db/20 ) 的幅度。 antilog() 采用 Q6.25 格式作为输入,并在输出时提供 Q16.
我想将一个定点数(Q31/int32 表示具有 31 个小数位的小数)除以另一个 Q31/int32。我想计算z = y/x,知道abs(x)>abs(y)。因此,z<1,因此可以表示为另一个Q31/
我是一名优秀的程序员,十分优秀!