2012-05-31 1 views
3

matplotlib에서 줄거리를 완료하는 데 문제가 있습니다.matplotlib z 방향

Correct but wrong way round

난 당신이 예상하는 방법을 시간 플롯합니다 :

arrays_k, arrays_v = splitbyrecordcount(ycsb[2]) 
checktype = [ "Update", "Read", "Verification" ] 

fig = plt.figure() 
ax = fig.add_subplot('111', projection='3d') 

for z in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]: 
    xs = arrays_k[z] 
    ys = arrays_v[z] 
    c = colmap.spectral(z/10.,1) 
    ax.plot(xs, ys, zs=z, zdir='z', color=c) 

그것은이 생산 : 종류의 반대로 더 많은 화면의 "평면에서"을 "여기에 코드입니다 위의 이미지에서와 같이 수직으로 "수직"합니다. 나는 ax.plot() 부분의 다른 조합을 많이 시도,하지만 난 그것을 변경하는 경우 :

:로 변경

what

:

ax.plot(xs, ys, zs=z, zdir='y', color=c) 

나는이를 얻을 수

ax.plot(xs, ys, zs=z, zdir='x', color=c) 

...도 도움이되지 않습니다. 원점에서 z 방향의 모든 것을 얇게 만듭니다.

아이디어가 있으십니까? 플롯이 화면 평면에 있도록 전체 그래프를 회전하는 방법을 아는 사람이라도 아무 것도없는 것보다 낫습니다.

답변

4

확인할 데이터가 없으면이 문제는 ax.plot에 대한 인수 순서라고 생각합니다. 이 시도 :

ax.plot(xs, z * np.ones(xs.shape), zs=ys, zdir='z', color=c) 

그래서, 당신이 당신의 'Y'축 따라서 zs=ys, 높이로는 2D 플롯에있을 것입니다 무엇을 할 수 있습니다.

+0

뛰어난. 그것은 그것을 고쳤다. 이것은 18 시간 안에 만기가되는 나의 논문을위한 것입니다. 너는 나의 영웅이야! <3 – eggonlegs

+0

도움이 되니 기쁩니다! 당신의 논문과 함께 행운을 빌어 요! – jorgeca