2017-10-13 1 views
2

는이 전 다음 그림을 만들고 다음 코드하기 matplotlib 해제 지수 표기법

import matplotlib.pyplot as plt 
plt.figure() 
plt.semilogy([0,1],[20,90]) 
plt.show() 

있다고 가정 해 봅시다 축 (그래서 2x10^1 대신 20, 30, 40, 60을 갖고 싶습니다.)

나는 이미 this 스레드를 보았습니다. 추가를 시도했으나

import matplotlib.ticker 
plt.gca().get_yaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter()) 
plt.gca().get_yaxis().get_major_formatter().set_scientific(False) 
plt.gca().get_yaxis().get_major_formatter().set_useOffset(False) 

그러나 결과는 영향을받지 않습니다. 파이썬 3.5.3 및 matplotlib 2.1.0을 사용하고 있습니다. 내가 뭘 놓치고 있니?

답변

1

y 축의 눈금이 10 년 이내에 있기 때문에 눈금은 큰 눈금이 아니라 작은 눈금입니다. 따라서 마이너 포맷터ScalarFormatter으로 설정해야합니다.

plt.gca().yaxis.set_minor_formatter(matplotlib.ticker.ScalarFormatter())

전체 예제 :

import matplotlib.pyplot as plt 
import matplotlib.ticker 

plt.figure() 
plt.semilogy([0,1],[20,90]) 
plt.gca().yaxis.set_minor_formatter(matplotlib.ticker.ScalarFormatter()) 
plt.show() 

enter image description here

+0

으 아악, 그건 내가 없어진거야. 고마워요! :) – arriopolis