개발로그필름

[데이터 TIL] plt.xscale('log') & plt.yscale('log')란? 본문

데이터분석가/데이터 TIL

[데이터 TIL] plt.xscale('log') & plt.yscale('log')란?

yuullog 2025. 2. 11. 11:39
728x90
반응형
SMALL

✅ plt.xscale('log') & plt.yscale('log')란?

👉 로그 스케일(Logarithmic Scale)을 적용하는 코드

👉 matplotlib에서 x축(plt.xscale())과 y축(plt.yscale())을 로그 스케일로 변환하는 역할

 


 

🔍 1️⃣ 로그 스케일이란?

  • 데이터의 크기 차이가 너무 클 때, 간격을 조정해서 시각적으로 균형 잡힌 그래프를 만들기 위한 기법.
  • 특히 조회수나 좋아요 수처럼 수치 범위가 넓은 데이터에서 효과적.
  • 일반적인 선형 스케일에서는 큰 값이 너무 넓게 퍼지고, 작은 값이 압축되어 보이지만, 로그 스케일을 사용하면 데이터의 패턴을 더 명확하게 볼 수 있음.

 


 

🔍 2️⃣ 예제 비교 (로그 스케일 vs 선형 스케일)

📌 로그 스케일 적용 전 (기본 선형 스케일)

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(1, 1000000, 100)  # 1부터 100만까지 100개의 데이터
y = x ** 2  # 제곱 값

plt.figure(figsize=(8, 6))
plt.plot(x, y, marker='o')
plt.xlabel("X 값 (선형 스케일)")
plt.ylabel("Y 값 (선형 스케일)")
plt.title("선형 스케일 그래프")
plt.show()

🔹 문제점: 값의 차이가 너무 커서 작은 값들은 거의 0에 수렴하는 것처럼 보임.

 

반응형

 


 

📌 로그 스케일 적용 후

plt.figure(figsize=(8, 6))
plt.plot(x, y, marker='o')
plt.xlabel("X 값 (로그 스케일)")
plt.ylabel("Y 값 (로그 스케일)")
plt.title("로그 스케일 그래프")
plt.xscale('log')  # X축을 로그 스케일로 변환
plt.yscale('log')  # Y축을 로그 스케일로 변환
plt.show()

🔹 로그 스케일 적용 후

  • 큰 값과 작은 값 사이의 간격이 비율적으로 균형 있게 조정됨.
  • 데이터의 패턴을 더 쉽게 인식할 수 있음.

 

 

반응형
LIST
Comments