2010-07-18 3 views
7

matplotlib.pyplot을 사용하여 간단한 hexbin 플롯을 만들었습니다. 기본 설정을 변경하지 않았습니다. 내 x 축 정보 범위는 2003 년에서 2009 년 사이이고 y 값은 15에서 35 사이입니다. 2003, 2004 등을 작성하는 대신 matplotlib를 0, 1, 2, ... + 2.003e + 03 . matplotlib에 전체 숫자를 쓰게하는 간단한 방법이 있습니까?matplotlib에 과학 표기법을 사용하지 않고 x 축 레이블의 전체 양식을 작성하도록하려면 어떻게해야합니까?

감사합니다,
마크 C.

답변

8

난 당신이 문자열 레이블을 설정합니다 xticks function를 사용할 수 있다고 생각 :

nums = arange(2003, 2010) 
xticks(nums, (str(n) for n in nums)) 

편집 :이 더 나은 방법입니다

gca().xaxis.set_major_formatter(FormatStrFormatter('%d')) 
어쨌든

또는 그런 식으로. (이전 버전의 Matplotlib에서는 메서드가 setMajorFormatter이었습니다.)

+0

은 버전을 알지 못하지만 Matplotlib 1.0 setMajorFormatter는 set_major_formatter이므로 알 수 없습니다. –

+0

@Bernardo : 고마워, 내가 바꿀거야. –

+2

또는 전체 네임 스페이스 사용 : matplotlib.pyplot.gca(). yaxis.set_major_formatter (matplotlib.ticker.FormatStrFormatter ('% d')) – bsa