绘制网格表面上的曲线仅沿着一个确定的轴线

问题描述 投票:0回答:1

我在Python是很新,并试图绘制表面上的一条曲线。

这里就是我来了这么远,绘制的域的表面:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import cmath

x = np.linspace(-400, 0, 100)
y = np.linspace(-100, 100, 100)

X, Y = np.meshgrid(x,y)

fc=50
wc=2*np.pi*fc

s = X + Y*1j
Z= abs(1/(1+s/wc))

fig = plt.figure()
ax = fig.gca(projection='3d')

surf = ax.plot_surface(X, Y, Z)

ax.plot(X, Y, Z)
plt.ylabel('Im')
plt.show()

enter image description here

我现在需要绘制这意味着沿假想轴线的相同表面上的曲线用于不同的颜色X = 0的曲线。冲浪= ax.plot_surface(0,Y,Z)没有工作。没有任何人有这样的情节经验?

python mesh surf
1个回答
1
投票

我假设你的意思是你想绘制Y =而不是0 X = 0(因为x = 0是很无聊)。

既然你要绘制你的数据的一个切片,你不能使用meshgrid格式(或者如果可以的话,它会要求我不想弄清楚一些奇怪的索引)。

这是我怎么会画出Y = 0切片:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import cmath

x = np.linspace(-400, 0, 100)
y = np.linspace(-100, 100, 100)

X, Y = np.meshgrid(x,y)

fc=50
wc=2*np.pi*fc

s = X + Y*1j
Z= abs(1/(1+s/wc))

fig = plt.figure()
ax = fig.gca(projection='3d')

surf = ax.plot_surface(X, Y, Z)

# create data for y=0
z = abs(1/(1+x/wc))
ax.plot(x,np.zeros(np.shape(x)),z)

plt.ylabel('Im')
plt.show()

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.