Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib 로그-로그 플롯에서 과학적 표기법 제거하는 방법

Matplotlib으로 만든 로그-로그(log-log) 플롯에서 축 눈금에 표시되는 과학적 표기법(예: 10² 형태)을 일반 숫자 형태로 바꾸고 싶을 때가 있습니다. 이럴 때는 ax.xaxis.set_minor_formatter(mticker.ScalarFormatter()) 구문을 사용하면 간단하게 해결할 수 있습니다.

구현 단계

  • 그림 크기를 설정하고 서브플롯 주변의 여백(padding)을 조정합니다.
  • NumPy를 사용하여 x, y 데이터 포인트를 생성합니다.
  • scatter() 메서드를 사용해 x, y 데이터를 산점도로 그립니다.
  • set_xscale()set_yscale() 메서드를 사용하여 x축과 y축의 스케일을 로그(log)로 설정합니다.
  • 과학적 표기법을 제거하기 위해 눈금 값을 일반 숫자 형식으로 지정합니다.
  • show() 메서드를 사용하여 그림을 화면에 표시합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt, ticker as mticker

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.array([1, 7, 6, 4, 0])
y = np.array([6, 2, 3, 5, 1])

plt.scatter(y, x, c=x, cmap="copper")

ax = plt.gca()
ax.set_xscale('log')
ax.set_yscale('log')
ax.xaxis.set_minor_formatter(mticker.ScalarFormatter())

plt.show()

실행 결과

위 코드를 실행하면 x축과 y축이 로그 스케일로 표시되고, 보조 눈금(minor ticks)의 값은 과학적 표기법 대신 일반 숫자(예: 2, 3, 4...)로 나타나는 것을 확인할 수 있습니다.

Matplotlib 로그-로그 플롯에서 과학적 표기법 제거하는 방법

참고 사항

만약 주 눈금(major ticks)에도 과학적 표기법이 나타난다면 ax.xaxis.set_major_formatter(mticker.ScalarFormatter())를 함께 사용하면 됩니다. 또한 y축에도 동일하게 적용하려면 ax.yaxis.set_minor_formatter(mticker.ScalarFormatter()) 구문을 추가하면 됩니다.