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

Python에서 로그 스케일 Y축 그래프 그리기 (Matplotlib 활용)

Python의 Matplotlib 라이브러리를 사용하면 로그(log) 스케일로 표현되는 Y축 빈(bin)을 가진 그래프를 간단하게 그릴 수 있습니다. 데이터 값의 범위가 넓거나 지수적으로 증가하는 경우, 로그 스케일을 적용하면 그래프를 훨씬 직관적으로 해석할 수 있습니다.

로그 Y축 그래프를 그리려면 아래 단계를 순서대로 따라 하면 됩니다.

구현 단계

  1. NumPy를 사용하여 x축과 y축에 사용할 데이터 포인트를 생성합니다.

  2. yscale() 메서드에 'log' 값을 전달하여 Y축 스케일을 로그 스케일로 설정합니다.

  3. plot() 메서드로 x와 y 데이터를 플롯합니다. 이때 linestyle="dashdot" 옵션으로 선 스타일을 지정하고, label="y=log(x)" 옵션으로 범례에 표시될 이름을 지정합니다.

  4. legend() 메서드를 호출하여 그래프에 범례(레이블)를 활성화합니다.

  5. show() 메서드를 사용하여 완성된 그래프를 화면에 출력합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt

# 그림 크기 및 자동 레이아웃 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 1부터 100까지 1000개의 균등한 x값 생성
x = np.linspace(1, 100, 1000)
y = np.log(x)

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

# 그래프 플롯
plt.plot(x, y, c="red", lw=3, linestyle="dashdot", label="y=log(x)")
plt.legend()
plt.show()

실행 결과

위 코드를 실행하면 빨간색 일점쇄선(dashdot)으로 그려진 y = log(x) 곡선이 표시되며, Y축 눈금은 10⁰, 10¹, 10²처럼 로그 단위로 배치됩니다. 덕분에 로그 함수의 완만한 증가 추세를 한눈에 파악할 수 있습니다.

핵심 포인트 정리

  • plt.yscale('log'): Y축을 로그 스케일로 변환하는 핵심 메서드입니다. X축에 적용하려면 plt.xscale('log')를 사용하면 됩니다.

  • np.linspace(1, 100, 1000): 로그 함수는 x가 0 이하일 때 정의되지 않으므로, 시작값을 1로 지정하는 것이 안전합니다.

  • labellegend(): 여러 곡선을 비교할 때 범례를 함께 사용하면 가독성이 크게 향상됩니다.