2009-10-01 4 views
4

같은 그림에 두 개의 상자 그림이 그려져 있습니다. 스타일상의 이유로 축은 그래픽 상자가 제곱되도록 길이가 같아야합니다. set_aspect 메서드를 사용하려고 시도했지만 축이 범위로 너무 다르므로 결과가 좋지 않습니다.Matplotlib square boxplot

포인트 수가 같지 않아도 1 : 1 축이 가능합니까?

감사

F.

답변

4

axis('equal')을보십시오. matplotlib로 작업 한 이후로 꽤 오랜 시간이 걸렸지 만 명령을 많이 입력 한 것을 기억합니다.

4

애스펙트를 축 제한 비율로 설정하면 Axes.set_aspect을 사용하여이 작업을 수행 할 수 있습니다. 다음 예는 다음과 같습니다 alt text http://i37.tinypic.com/b6u9zs.png

from matplotlib.pyplot import figure, show 

fig = figure() 

ax0 = fig.add_subplot(1,2,1) 
ax0.set_xlim(10., 10.5) 
ax0.set_ylim(0, 100.) 
ax0.set_aspect(.5/100) 

ax1 = fig.add_subplot(1,2,2) 
ax1.set_xlim(0., 1007) 
ax1.set_ylim(0, 12.) 
x0, x1 = ax1.get_xlim() 
y0, y1 = ax1.get_ylim() 
ax1.set_aspect((x1-x0)/(y1-y0)) 

show() 

는 쉬운 방법이있을 수 있습니다,하지만 난 그것을 모른다. loglog 플롯에 대한

+0

를 사용하는 것을 잊지 마세요. 감사! –

+0

당신을 진심으로 환영합니다. – tom10

1

(loglog())는 좋은 출발점이다

ax1.set_aspect(log10(xmax/xmin)/log10(ymax/ymin))