如何在python中从等高线中提取坐标并将它们存储在新的x和y变量中?



我在从等值线图中提取坐标时遇到问题。我首先用蟒蛇绘制了轮廓线。然后,我只想提取沿等高线的 x,y 坐标,并将它们存储在 x 和 y 变量中,以便在下一个操作中使用它们。我在论坛中看到了一个代码,用于提取沿轮廓的坐标,但这并没有给我点来存储在单独的 x 和 y 变量中,以便我可以在下一个操作中使用它们。

如果此操作可能有一个简单的 python 代码,请帮助我。我不是蟒蛇专家。

我已经尝试了论坛的链接,但这并没有给我像 x y 这样的坐标,它带有括号 x 和 y。我无法在此处编写代码,因为它在此编辑窗口中显示一些错误。

def get_contour_verts(cp):
contours=[]
for cc in cp.collections:
paths=[]
for pp in cc.get_paths():
xy=[]
for vv in pp.iter_segments():
xy.append(vv[0])
paths.append(np.vstack(xy))
contours.append(paths)
return contours
contours=get_contour_verts(cp)
for ip,path in enumerate(contours):
for i,item in enumerate(path):
print(path[i])

使用此代码,我得到包含 x 和 y 的输出路径 [i] 一起放在括号内。我想将输出的 x 和 y 坐标保存为数组。 输出数据如下所示:

[[-0.0018 -0.02222131]]

但我希望它们为 x=-0.0018 y= -0.02222131 谢谢

我刚刚尝试过 对于 IP,枚举中的路径(轮廓(: 对于 i,枚举中的项(路径(: 打印(项目[i][0],项目[i][1](

但它没有给我一个 x 和 y 值的列表,而是显示错误"索引错误:索引 1 超出了大小为 1 的轴 0 的界限">

如果path[i]给出[[-0.0018 -0.02222131]]

x = path[i][0][0]
y = path[i][0][1] 

最新更新