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

Matplotlib에서 로그 스케일로 데이터 시각화하는 방법

데이터의 값 범위가 매우 넓거나 지수적으로 증가하는 경우, 일반적인 선형 축보다 로그 스케일(log scale)을 사용하는 것이 그래프를 해석하기에 훨씬 유용합니다. Matplotlib에서는 yscale('log') 함수를 호출하는 것만으로 y축을 로그 스케일로 손쉽게 변경할 수 있습니다.

구현 단계

  • matplotlib과 numpy 라이브러리를 임포트합니다.

  • 그림(figure) 크기를 설정하고 서브플롯 주변의 여백을 자동으로 조정합니다.

  • numpy를 이용해 x, y 데이터 포인트를 생성합니다.

  • yscale('log')을 호출하여 y축을 로그 스케일로 설정합니다.

  • plot 메서드로 x와 y 데이터를 그립니다.

  • legend() 메서드로 그림에 범례를 배치합니다.

  • show() 메서드를 사용해 최종 그래프를 화면에 표시합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt

# 그림 크기 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# x, y 데이터 포인트 생성
x = np.linspace(1, 100, 1000)
y = np.log(x)

# y축을 로그 스케일로 설정
plt.yscale('log')

# x, y 데이터 플롯
plt.plot(x, y, c="red", lw=3, linestyle="dashdot", label="y=log(x)")

# 범례 표시
plt.legend()

# 그래프 출력
plt.show()

실행 결과

위 코드를 실행하면 y축이 로그 스케일로 표시된 다음과 같은 그래프가 출력됩니다.

Matplotlib에서 로그 스케일로 데이터 시각화하는 방법

참고로 x축도 로그 스케일로 변경하고 싶다면 xscale('log')을, 두 축을 모두 변경하려면 두 함수를 함께 사용하면 됩니다. 또한 plt.loglog(x, y)를 사용하면 양축 로그 스케일 그래프를 한 번에 그릴 수 있습니다.