2013-06-01 5 views
2

나는 matplotlib를 사용하여 로그 플롯을 플로팅합니다. 내 값은 내가 x 축과 y 축이 낮은 1 이상의 값에서 시작하여 설정하려는 35로그 플롯에서 음수 축

fig=plt.figure(figsize=(7,7)) 
fig.subplots_adjust(top=0.75, right=0.9) 
ax=fig.add_subplot(111) 
ax.plot(x, y, marker='o', color='black', ls='') 
ax.set_xscale('log') 
ax.set_yscale('log') 

1에서 이동,하지만 난

ax.axis([-10,45,-10,45]) 

을 사용하는 경우 작동하지 않습니다 . 내가 로그 축척을 사용하고 있기 때문에 그것이 내가 알고있는 축을 얻는 문제를 해결할 방법이 있습니까?

+0

@tcaswell. 축 한계가 '[1e-10, 1e45, 1e-10, 1e45]'인 경우,이 데이터는 실제 데이터보다 몇 배 이상 크기 때문에 유익한 방법으로 표현하기가 어렵습니다. – hooy

+0

@nordev 아, 나는 그것을 놓쳤다. – tacaswell

답변

4

ax.set_xscale에 대해 'symlog' 인수를 사용하십시오. 이는 0을 중심으로 한 작은 간격으로 선형이며 다른 곳에서는 대수입니다.

는 축 튜플 즉 lintreshx=(-lintresh,lintresh) 각각 음의 한계 및 양 측면으로 이루어진 수용 키워드 인수 lintreshx (ax.set_yscale위한 lintreshy)와 선형 할 위치도 시간 간격을 설정할 수있다. 실제로 영업 이익이 값이 1에서 35까지,뿐만 아니라 게시물의 제목되는 플롯 할 것을 지정으로, _negative_ 값 축을 가지고 싶어 있다고 생각

ax.set_xscale('symlog') 
ax.set_yscale('symlog') 
ax.axis([-10,45,-10,45]) 
+0

그것은 작동합니다! 감사! –