仅沿确定的轴在网格表面上绘制曲线

时间:2019-02-04 13:33:14

标签: python mesh surf

我是Python的新手,正在尝试在曲面上绘制一条曲线。

这是我到目前为止所到之处,并在s域中绘制了一个曲面:

struct A
{
    int a;
    char b;
};

struct B : A
{
    int c; // place this before b?
};

enter image description here

我现在需要以不同的颜色绘制X = 0的曲线,这意味着该曲线沿着虚轴在同一表面上。 surf = ax.plot_surface(0,Y,Z)不起作用。有人有这种情节的经验吗?

1 个答案:

答案 0 :(得分: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