3
matplotlib를 사용하여 여러 개의 와이어 프레임 구로 구성된 플롯을 작성하려고합니다. 하나의 구와 같은 코드 구를 찾았으므로 plot_wireframe을 여러 번 호출하여 여러 구로 확장하는 것이 쉬울 것이라고 생각했습니다. here 내가 틀렸어. 여기의 코드는 다음과 같습니다Python matplotlib 와이어 프레임 왜곡
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
u, v = np.mgrid[0:2*np.pi:20j, 0:np.pi:10j]
x=np.cos(u)*np.sin(v)
y=np.sin(u)*np.sin(v)
z=np.cos(v)
fig = plt.figure(figsize=(8,6))
ax = fig.gca(projection='3d')
ax.plot_wireframe(x*3.+5., y*3., z*3.,linewidths=.2)
ax.view_init(azim=30,elev=40)
ax.set_aspect("equal")
plt.show()
fig = plt.figure(figsize=(8,6))
ax = fig.gca(projection='3d')
ax.plot_wireframe(x*3.+5., y*3., z*3.,linewidths=.2)
spheres = [ [0,0,0,1], [3,0,0,1.6] ]
for v in spheres:
ax.plot_wireframe(x*v[3]+v[0], y*v[3]+v[1], z*v[3]+v[2],linewidths=.2)
ax.view_init(azim=30,elev=40)
ax.set_aspect("equal")
plt.show()
당신이 코드를 실행하면 두 번째에있는 모든 구체 왜곡하고 이동하는 동안, 첫 번째 음모, 멋진 영역을 표시합니다. plot_wireframe이 같은 축에서 여러 번 호출 될 수 있지만 아무것도 찾을 수 없었는지 확인하기 위해 검색했습니다. 또한, 저는 파이썬 놈입니다.하지만 제가 잘못하고 있다고 생각하지 않습니다. 도움 주셔서 감사합니다!
첫 번째 플롯은 코드가 하나 개의 영역에 대해 잘 작동 것을 보여주기 위해이었다. 비록 그것이 작동하는지 정확히 알지는 못했지만, x, y, z 한계에 대한 연결을 설명 할 수 있습니까? 감사! –
댓글 더보기 : 여전히 왜곡되어 있습니다. 한계를 설정하는 것은 분명히 동일한 종횡비를 설정하는 것과 충돌합니다 (단지 xlim을 -10 10으로 설정하십시오). 나는 ax.set_aspect ('equal', 'datalim')를 사용하여 시도했지만 클릭하고 드래그하면 엉망이된다. 버그가 있습니까? –