반응형
파이썬 matplotlib 그림에서 숫자가 지수 형식으로 변경되는 것을 방지하는 방법
저는 Python에서 Matplotlib를 사용하여 간단한 xy 데이터 세트를 플로팅하고 있습니다. 그림보기 (를 실행할 때 표시됨)를 사용하여 플로팅 된 그래프의 여러 섹션을 너무 가깝게 "확대" plt.show()
하면 x 축 값이 표준 숫자 형식 (1050, 1060, 1070 등)을 지수 표기법을 사용하여 과학적 형식으로 변환합니다 (예 : x 축 레이블이로 지정된 1, 1.5, 2.0 +1.057e3
).
지수 형식을 사용하는 것보다 축의 단순한 번호 매기기를 유지하는 것을 선호합니다. Matplotlib를 강제로 수행 할 수있는 방법이 있습니까?
눈금 레이블의 서식은 Formatter
개체에 의해 제어되며, 아무 작업도하지 않았다고 가정하면 ScalerFormatter
기본적으로 . 이 포맷터는 보이는 값의 부분적인 변화가 매우 작은 경우 상수 시프트를 사용합니다. 이를 방지하려면 간단히 해제하십시오.
plt.plot(arange(0,100,10) + 1000, arange(0,100,10))
ax = plt.gca()
ax.get_xaxis().get_major_formatter().set_useOffset(False)
plt.draw()
일반적으로 과학적 표기법을 사용하지 않으려면
ax.get_xaxis().get_major_formatter().set_scientific(False)
axes.formatter.useoffset
rcparam을 통해 전역 적으로이를 제어 할 수 있습니다.
더 간단한 명령을 사용하여 끌 수 있습니다.
plt.ticklabel_format(useOffset=False)
다음과 같이 사용할 수 있습니다.
from matplotlib.ticker import ScalarFormatter, FormatStrFormatter
ax.xaxis.set_major_formatter(FormatStrFormatter('%.0f'))
반응형
'Development Tip' 카테고리의 다른 글
C ++의 #region에 해당 (0) | 2020.11.04 |
---|---|
gcc는 i686에서 bits / predefs.h를 찾을 수 없습니다. (0) | 2020.11.04 |
약속이있는 While 루프 (0) | 2020.11.04 |
프로그래밍 방식으로 리소스 디렉터리 경로를 가져 오는 방법 (0) | 2020.11.04 |
Android 레이아웃의 자리 표시 자 텍스트 (디자인 프로세스 전용)? (0) | 2020.11.04 |