Development Tip

파이썬 matplotlib 그림에서 숫자가 지수 형식으로 변경되는 것을 방지하는 방법

yourdevel 2020. 11. 4. 20:55
반응형

파이썬 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.useoffsetrcparam을 통해 전역 적으로이를 제어 할 수 있습니다.


더 간단한 명령을 사용하여 끌 수 있습니다.

plt.ticklabel_format(useOffset=False)

다음과 같이 사용할 수 있습니다.

from matplotlib.ticker import ScalarFormatter, FormatStrFormatter

ax.xaxis.set_major_formatter(FormatStrFormatter('%.0f'))

참고 URL : https://stackoverflow.com/questions/14711655/how-to-prevent-numbers-being-changed-to-exponential-form-in-python-matplotlib-fi

반응형