반응형
Python plt log scale axis
파이썬에서 x축 및 y축의 눈금을 로그(log) 스케일로 지정할 수 있는
xscale 및 yscale 함수에 대하여 사용 예제를 살펴보도록 하겠습니다.
우선, 다음과 같이 간단한 바 그래프가 있다고 가정해 보겠습니다.
import matplotlib.pyplot as plt
plt.bar(['A', 'B', 'C', 'D', 'E'], [100, 500, 1000, 5000, 10000], color = 'b', alpha = 0.5)
plt.show()
이제 위 그래프의 y축을 로그 스케일로 바꾸어보도록 하겠습니다.
log 옵션 vs symlog 옵션
x축은 plt.xscale, y축은 plt.yscale 함수로 축의 스케일을 변경할 수 있습니다.
여기서 옵션을 'log' 혹은 'symlog'로 선택하면 log scale 변환이 가능한데,
두 옵션을 적용한 차이는 아래 예시와 같으니 더 적합한 것으로 사용하시면 됩니다.
# log 옵션 적용
plt.bar(['A', 'B', 'C', 'D', 'E'], [100, 500, 1000, 5000, 10000], color = 'b', alpha = 0.5)
plt.yscale('log')
plt.show()
# symlog 옵션 적용
plt.bar(['A', 'B', 'C', 'D', 'E'], [100, 500, 1000, 5000, 10000], color = 'b', alpha = 0.5)
plt.yscale('symlog')
plt.show()
반응형
밑변환 방법
기본적으로는 위의 예시처럼 밑이 10인 log를 기준으로 축 스케일이 정해지지만,
xscale에서는 basex, yscale에서는 basey 옵션을 지정하면 base를 바꿀 수 있습니다.
# 밑(base) = 2로 변환
plt.bar(['A', 'B', 'C', 'D', 'E'], [100, 500, 1000, 5000, 10000], color = 'b', alpha = 0.5)
plt.yscale('symlog', basey = 2)
plt.show()
참고로, x축을 로그 스케일로 바꾸고 싶은 경우에도 마찬가지 원리로 적용해주시면 되는데,
적용 예시는 아래의 코드 및 그래프를 참고해주시면 됩니다.
# x축 로그 스케일 지정 예시
plt.plot([100, 500, 1000, 5000, 10000], [10, 9, 11, 8, 12])
plt.xscale('log', basex = 2)
plt.show()
'Python > Matplotlib' 카테고리의 다른 글
[Matplotlib] 파이썬 그래프 y축 절단(물결선 효과) 적용 방법 (0) | 2022.10.06 |
---|---|
[Matplotlib] 파이썬 산점도 텍스트 label 추가 방법 (7) | 2022.08.24 |
[Matplotlib] 파이썬 그래프 회전 방법 예제 (1) | 2022.08.09 |