小编Ash*_*rma的帖子

合并numpy中的行以形成新数组

这是我正在努力实现的目标的一个示例。我对 python 很陌生,已经搜索了几个小时来找出我做错了什么。我一直无法找到我的问题是什么。我还很新,可能会搜索错误的短语。如果是这样,您能指出我正确的方向吗?

我想将 n 个数组组合成一个数组。我希望将 x 中的第一行作为组合中的第一行,将 y 中的第一行作为组合中的第二行,将 z 中的第一行作为组合中的第三行,将 x 中的第二行作为组合中的第四行结合起来等等,所以我看起来像这样。

x = [x1 x2 x3]
    [x4 x5 x6]
    [x7 x8 x9]

y = [y1 y2 y3]
    [y4 y5 y6]
    [y7 y8 y9]

x = [z1 z2 z3]
    [z4 z5 z6]
    [z7 z8 z9]

combined = [x1 x2 x3]
           [y1 y2 y3]
           [z1 z2 z3]
           [x4 x5 x6]
           [...]
           [z7 z8 z9]
Run Code Online (Sandbox Code Playgroud)

我能想到的最好的就是

    import numpy as np

x = np.random.rand(6,3)
y = np.random.rand(6,3)
z = np.random.rand(6,3)

combined …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

5
推荐指数
1
解决办法
9209
查看次数

在matplotlib中绘制一组给定点以形成闭合曲线

我有闭合曲线的点的坐标(吨),以x递增的顺序排序。

当以常规方式绘制时,我得到的结果是:

(仅作为示例,我最多可以将圆形归类为变形虫) 在此处输入图片说明

但是我正在寻找的结果是这样的: 在此处输入图片说明

我已经通过matplotlib查看,但找不到任何东西。(也许我的关键字输入有误...?)

我尝试通过以下方式重新格式化数据:

  1. 随机选择一个点,找到其最近的邻居,然后再找到下一个最近的邻居,依此类推。。它在有时数据不太一致的边缘失效(最近的邻居可能在曲线的另一侧)。

  2. 为了解决不一致的数据,我尝试检查两个点之间的坡度(被认为是最近的邻居)是否与先前连接的坡度匹配-失败,原因是我找不到。(在我放弃之前花了很多时间)

  3. 选取x_minimum和x_maximum(以及相应的y坐标)并绘制一条假想的线,并在该线的任一侧对点进行排序。-当您的曲线看起来像香蕉时失败。

是否有python软件包/库可以帮助我到达所需的位置?还是可以帮助我提出一些想法,以便更好地对我的数据点进行排序?提前致谢。

编辑:

在我的圆上尝试过ConcaveHull,知道为什么这些线在某些地方重叠吗?这是图片: 在此处输入图片说明

EDIT2: 通过更改@Reblochon Masque在其答案的注释部分中建议的部分代码,解决了该问题。

python plot matplotlib

3
推荐指数
1
解决办法
2894
查看次数

标签 统计

python ×2

arrays ×1

matplotlib ×1

numpy ×1

plot ×1