2017-10-13 1 views
0

실험 데이터에서 3D 산포도를 플로팅했습니다. 타원체와 같은 물체의 윤곽을 나타냅니다. 타원체의 크기와 모양은 표본에 따라 다릅니다.측면 매트 플롯에 3D 도움이되는 축 추가

이것은 (xOy), (xOz) 및 (yOz) 평면 (및 기타)을 따라 내 데이터의 2D 투영으로 산점도를 저장하려는 이유입니다. 명확성을 위해, 나는 분자 시각화 소프트웨어가 할 수있는 것처럼 플롯의 측면에서 내가 투사하고있는 축을 어떻게 그릴 수 있을지 궁금해하고있었습니다. Inkscape로 축을 대략 추가하여 예제를 만들었지 만 가능하면 matplotlib를 사용하는 솔루션을 원합니다.

다음 예제 이미지를 참조하십시오.

enter image description here

답변

0

당신은 왼쪽 하단 모서리에있는 그림, 예를 들어, 또 다른 축을 추가 할 수 있습니다

xax = fig.add_axes([0.1, 0.1,0.2, 0.2]) 

화살표로 주석을 그립니다. 저장하려는보기 당 같은 축 중 하나를 생성 할 수 있도록

enter image description here

from mpl_toolkits.mplot3d import Axes3D 
import matplotlib.pyplot as plt 

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

xax = fig.add_axes([0.1, 0.1,0.2, 0.2]) 

xax.annotate('', xy=(1, 0), xytext=(0, 0), 
      arrowprops=dict(facecolor='black', shrink=0.02), clip_on=False) 
xax.annotate('x', xy=(1.1, 0), clip_on=False, va="center") 
xax.annotate('', xy=(0, 1), xytext=(0, 0), 
      arrowprops=dict(facecolor='black', shrink=0.02), clip_on=False) 
xax.annotate('y', xy=(0, 1.1), clip_on=False, ha="center") 
xax.set_xlim(-.2,1.5) 
xax.set_ylim(-.2,1.5) 
xax.set_aspect("equal") 
xax.axis("off") 

plt.show() 

는 3D와 동기화되지 물론 축입니다.

+0

최고! 정확히 내가 무엇을 찾고 있었는지. 내 요청은 최종보기로 예정되어 있으므로 비동기는 문제가되지 않으므로 제안 된대로 정확히 수행 할 것입니다. 정말 고마워요. –