matplotlib로 3d 플롯을 만들고 싶습니다.matplotlib 와이어 프레임 플롯/3d 플롯 howTo
데이터는 다음과 같습니다. 각 행에 3D 플롯의 Y 좌표가 포함 된 행렬이 있습니다. 각 행의 첫 번째 요소는 3D 플롯의 X 좌표입니다. 마지막으로, 두 번째 행렬은 X, Y 위치에서 각 점에 대해 높이를 포함합니다. 이 두 번째 행렬에는 Z 좌표가 포함되어 있습니다. 두 행렬은 모두 Python을 사용하는 배열의 배열입니다. 내가 얻을 수 있도록 데이터를 변환하는 방법을 알고 싶습니다
- 이 (사진 온라인)처럼는 X에 해당하는 각각의 1D 신호를 동일한 데이터에 대한
- 와이어 프레임 음모, 등의 줄거리 이
나는 와이어 프레임 작업을위한 도우미 함수를 작성했습니다,
######## HELPER FOR PLOT 3-D
def plot_3d(name,X,Y,Z):
fig = plt.figure(name)
ax = fig.gca(projection='3d')
X = np.array(X)
Y = np.array(Y)
Z = np.array(Z)
ax.plot_wireframe(X,Y,Z,rstride=10,cstride=10)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
plt.show()
하지만, Y를 데이터 X를 변환하는 방법을 잘 모릅니다, Z를 사용하여 X, Y, Z에 대한 2D 목록을 원하는 matplotlib 함수에 대한 요구 사항에 맞 춥니 다.
첫 번째 그래프의 경우 도움말을 읽고 3D에서 2D 플롯을 사용하려고합니다. 예제 소스 코드는 다음과 같습니다.
x = np.linspace(0, 1, 100)
y = np.sin(x * 2 * np.pi)/2 + 0.5
ax.plot(x, y, zs=0, zdir='z', label='zs=0, zdir=z')
여기서 z는 상수 좌표입니다. 필자의 경우, x는 상수 좌표이다. 나는로 적응한다
fig = plt.figure('2d profiles')
ax = fig.gca(projection='3d')
for i in range(10):
x = pt ## this is a scalar
y = np.array(y)
z = np.array(z)
ax.plot(xs = x, y, z, xdir='x')
plt.show()
경고 : non-keyword arg after keyword arg
가있다. 어떻게 고치는 지?
감사 및 3D에서 벡터의 세리의 표시에 관한 안부
당신은 예외를 의미한다. 'ax.plot (xs = x, ys-y, zs = z, xdir ='x ')'로'ax.plot (xs = x, y, z, xdir ='x ' – pelson