파이썬/시각화 matplot

제목, 축 레이블, 그리드

Merware 2023. 5. 15. 11:28

[ 학습목표 ]
그래프의 가독성을 높이기 위해 제목, 축 레이블, 그리드를 설정할 수 있다.

라이브러리 임포트 및 그래프 설정

라이브러리 임포트

import matplotlib.pyplot as plt
# 그래프에 한글폰트 설정
plt.rcParams['font.family'] = 'Malgun Gothic'

# 유니코드에서 그래프에 마이너스 기호 깨지는 문제 해결
plt.rcParams['axes.unicode_minus'] = False
# 폰트 확인하기
import matplotlib.font_manager as fm
[f.name for f in fm.fontManager.ttflist if 'Nanum' in f.name]

샘플 데이터

  • 월별 몸무게 변화
    어떤 사람이 체중 관리를 위해 월별 몸무게를 기록하고 있음.
    월별 몸무게 변화를 시각화하고자 함
  • 1월:80kg, 2월:78kg, 3월:75kg, 4월:73kg, 5월:70kg

데이터프레임 만들기

import pandas as pd

df = pd.DataFrame({'월':[1,2,3,4,5], '몸무게':[80,78,75,73,70]})
df

"""
	월	몸무게
0	1	80
1	2	78
2	3	75
3	4	73
4	5	70

 

그래프 그리기

x = df['월']
y = df['몸무게']
plt.plot(x,y,'ro-', mec='b', mfc='b', lw=3, ms=7)
plt.show()

 

제목

  • plt.title('제목')
  • loc : 제목 위치('left','center','right')
  • pad : 타이틀과 그래프와의 간격
  • color : 폰트색상
  • fontsize : 폰트사이즈
  • fontweight : 폰트굵기('normal','bold','heavy','light','ultrabold','ultralight')
  • fontfamily : 폰트
x = df['월']
y = df['몸무게']
plt.plot(x,y,'ro-', mec='b', mfc='b', lw=3, ms=7)
plt.title('월별 몸무게 변화', loc='center', pad=10, color='r', fontsize=20, fontweight='bold'
          , fontfamily='NanumGothic')
plt.show()

x축, y축 레이블

  • plt.xlabel('레이블')
  • plt.ylabel('레이블')
  • loc : 위치('left','center','right' / 'bottom', 'center','top')
  • labelpad : 레이블과 그래프와의 간격
  • color : 폰트색상
  • fontsize : 폰트사이즈
  • fontfamily : 폰트
x = df['월']
y = df['몸무게']
plt.plot(x,y,'ro-', mec='b', mfc='b', lw=3, ms=7)
plt.title('월별 몸무게 변화', loc='center', pad=10, color='r', fontsize=20, fontweight='bold'
          , fontfamily='NanumGothic')

plt.xlabel('월',loc='right',labelpad=10, color='b',fontsize=12)
plt.ylabel('몸무게(kg)', loc='top',labelpad=10, color='b', fontsize=12)
plt.show()

그리드

  • plt.grid(True)
  • axis : 그리드 방향
  • ls, lw, color, alpha 등의 속성을 지정할 수 있음

기본 그리드

  • plt.grid()
x = df['월']
y = df['몸무게']
plt.plot(x,y,'ro-', mec='b', mfc='b', lw=3, ms=7)
plt.title('월별 몸무게 변화', loc='center', pad=10, color='r', fontsize=20, fontweight='bold'
          , fontfamily='NanumGothic')

plt.xlabel('월',loc='right',labelpad=10, color='b',fontsize=12)
plt.ylabel('몸무게(kg)', loc='top',labelpad=10, color='b', fontsize=12)

plt.grid()
plt.show()

x축 그리드

x = df['월']
y = df['몸무게']
plt.plot(x,y,'ro-', mec='b', mfc='b', lw=3, ms=7)
plt.title('월별 몸무게 변화', loc='center', pad=10, color='r', fontsize=20, fontweight='bold'
          , fontfamily='NanumGothic')

plt.xlabel('월',loc='right',labelpad=10, color='b',fontsize=12)
plt.ylabel('몸무게(kg)', loc='top',labelpad=10, color='b', fontsize=12)

plt.grid(axis='x')
plt.show()

 

y축 그리드

x = df['월']
y = df['몸무게']
plt.plot(x,y,'ro-', mec='b', mfc='b', lw=3, ms=7)
plt.title('월별 몸무게 변화', loc='center', pad=10, color='r', fontsize=20, fontweight='bold'
          , fontfamily='NanumGothic')

plt.xlabel('월',loc='right',labelpad=10, color='b',fontsize=12)
plt.ylabel('몸무게(kg)', loc='top',labelpad=10, color='b', fontsize=12)

plt.grid(axis='y')
plt.show()

 

그리드 스타일링

x = df['월']
y = df['몸무게']
plt.plot(x,y,'ro-', mec='b', mfc='b', lw=3, ms=7)
plt.title('월별 몸무게 변화', loc='center', pad=10, color='r', fontsize=20, fontweight='bold'
          , fontfamily='NanumGothic')

plt.xlabel('월',loc='right',labelpad=10, color='b',fontsize=12)
plt.ylabel('몸무게(kg)', loc='top',labelpad=10, color='b', fontsize=12)

plt.grid(color='skyblue', alpha=0.5, ls=':')
plt.show()