본문 바로가기
데이터 분석/시각화

[Matplotlib] y축 눈금 숫자 형식(Number Format) 바꾸기(set_yticklabels) 백분율(%), 천단위 콤마(,), 과학적 표기(Scientific Notation) 변경

by 부자 꽁냥이 2022. 4. 19.

반갑습니다~ 꽁냥이입니다.

 

가끔씩 y축 눈금 라벨의 숫자 형식(Number Format)을 바꾸고 싶을 때가 있는데요. 이번 포스팅에서는 Matplotlib에서 y축 눈금의 숫자 형식을 바꾸는 방법에 대해서 알아보려고 해요. 여기서는 백분율(%), 천단위 콤마(,), 과학적 표기(Scientific Notation) 변경 등에 대한 내용을 다룹니다.


   Matplotlib - y축 눈금 숫자 형식(Number Format) 바꾸기

먼저 데이터를 만들어주고 기본 라인 차트를 그려봅니다.

 

import matplotlib.pyplot as plt
import numpy as np
import warnings
warnings.filterwarnings('ignore')

n = 20
data=np.random.normal(loc=10000,size=n, scale=10000) + 100000

fig = plt.figure(figsize=(8,5))
fig.set_facecolor('white')
plt.plot(range(n), data)

plt.show()

 

1) 천단위 콤마 찍기

먼저 y축 눈금 숫자에 천 단위로 콤마를 찍어보겠습니다. 방법은 어렵지 않습니다. 

plt.gca().get_yticks를 이용하여 현재 눈금 정보를 가져오고 이를 문자 포맷팅 함수 format을 이용하여 천 단위로 콤마 찍는 형식으로 변환합니다. 그리고 그 결과를 set_yticklabels에 넘겨주면 됩니다.

 

fig = plt.figure(figsize=(8,5))
fig.set_facecolor('white')
plt.plot(range(n), data)

current_values = plt.gca().get_yticks()
plt.gca().set_yticklabels(['{:,.0f}'.format(x) for x in current_values])

plt.show()

 

 

y축 눈금 숫자 형식(Number Fomat)이 의도한 대로 잘 바뀐 것을 알 수 있습니다.

2) 지수 표현 형식(Scientific Notation) 없애기

y값이 엄청 큰 값을 포함하는 경우 y축이 아래와 같이 지수 표현 형식(Scientific Notation)으로 표현되는 경우가 있습니다. 이때 앞서 배운 것을 활용하면 그 형식을 바꿀 수 있습니다.

 

n = 20
data=np.random.normal(loc=0,size=n, scale=500000) + 1000000

fig = plt.figure(figsize=(8,5))
fig.set_facecolor('white')
plt.plot(range(n), data)

current_values = plt.gca().get_yticks()
plt.gca().set_yticklabels(['{:.0f}'.format(x) for x in current_values])

plt.show()

 

변경전                                                                                      변경후

3) 백분율(%)로 표시

이번엔 y축 눈금을 백분율(%) 형식으로 표시하는 법에 대해서 알아보겠습니다. 기존 코드와 거의 동일하고 format 함수를 백분율(%)로 표시되도록 변경했습니다.

 

n = 20
data=np.random.rand(n)

fig = plt.figure(figsize=(8,5))
fig.set_facecolor('white')
plt.plot(range(n), data)

current_values = plt.gca().get_yticks()
plt.gca().set_yticklabels(['{:.0%}'.format(x) for x in current_values])

plt.show()

 

변경전                                                                                      변경후


이번 포스팅에서는 y축 눈금 숫자 형식을 바꾸는 법에 대해서 알아보았습니다. 오늘 배운 것을 응용하면 x축 숫자 형식도 바꿀 수 있습니다. 오늘 내용은 알아두시면 유용하게 써먹을 수 있어요. 지금까지 꽁냥이의 글 읽어주셔서 감사하다는 말씀드리며 이상 포스팅 마치겠습니다.

 

참고자료

https://queirozf.com/entries/matplotlib-examples-number-formatting-for-axes-labels


 

 

댓글


맨 위로