繁体   English   中英

如何获得轮廓 plot 的 Isocontour 的 xy 坐标?

[英]How can I get Isocontour's xy coordinates for contour plot?

我正在尝试从 3D plot 获取等值面的 xy 坐标。这是我的尝试;

import matplotlib.pyplot as plt

from numpy import pi, cos, sin, linspace, meshgrid

x = linspace(0,50,1000)
y = linspace(0,50,1000)

n = 5
L = 50
t = 0

def gyroid(x, y, n, L, t):
    tanım1 = (sin(2*pi*n*x/L) * cos(2*pi*n*y/L) + sin(2*pi*n*y/L) + cos(2*pi*n*x/L))
    return tanım1*tanım1 - t**2

XX, YY = meshgrid(x, y)
z = gyroid(XX, YY, n, L, t)

thickness = 0.1
contour = plt.contour(XX, YY, z,levels=[thickness])
# Attempt to get x-y coordinates
dat0= contour.allsegs[0][0]
plt.plot(dat0[:,0],dat0[:,1])

陀螺仪 function 通常看起来像; 3D plot

我得到 z = 0.1 平面的等值线; 无效 plot

我需要 xy 对这些空隙。 但是当我尝试时,代码只会得到左下角的坐标。 显然 function 是强非线性的,但是有没有办法检索这些坐标?

提前感谢您的回复。

您指定contour.allsegs[0][0]以便获得第一条轮廓线的第一行。

for lines in contour.allsegs:
    for line in lines:
        X, Y = line[:,0], line[:,1]
        plt.plot(X, Y)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM