[ 학습목표 ]
그래프의 가독성을 높이기 위해 축의 범위와 눈금을 설정할 수 있다.
라이브러리 임포트 및 그래프 설정
라이브러리 임포트
- matplotlib의 pyplot 모듈 사용
- 관용적으로 plt라는 별칭 사용
import matplotlib.pyplot as plt
import matplotlib as mpl
# 그래프에 마이너스 기호 깨지는 문제 해결
mpl.rcParams['axes.unicode_minus'] = False
# 그래프에 한글 설정
mpl.rcParams['font.family'] = 'NanumGothic'
샘플 데이터
- 월별 몸무게 변화
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,'bo-', mfc='r',mec='r')
# title
plt.title('월별 몸무게 변화', size=15, color='b', fontweight='bold')
# 축 레이블
plt.xlabel('월')
plt.ylabel('몸무게(kg)')
# 그리드
plt.grid(ls=':')
plt.show()
축의 범위 지정하기
- plt.xlim(min,max)
- plt.ylim(min,max)
x = df['월']
y = df['몸무게']
plt.plot(x,y,'bo-', mfc='r',mec='r')
# title
plt.title('월별 몸무게 변화', size=15, color='b', fontweight='bold')
# 축 레이블
plt.xlabel('월')
plt.ylabel('몸무게(kg)')
# 축의 범위
plt.xlim(1,12)
plt.ylim(0,100)
# 그리드
plt.grid(ls=':')
plt.show()
틱 설정
- x축, y축 눈금을 틱(tick)이라고 한다.
- 틱의 갯수, 레이블, 스타일을 변경할 수 있다.
틱 지정
- plt.xticks(틱리스트)
- plt.yticks(틱리스트)
# x축 : 0,1,2,3,4,5,6,7,8,9,10,11,12,13
# y축 : 0,10,20,30,40,50,60,70,80,90,100
x = df['월']
y = df['몸무게']
plt.plot(x,y,'bo-', mfc='r',mec='r')
# title
plt.title('월별 몸무게 변화', size=15, color='b', fontweight='bold')
# 축 레이블
plt.xlabel('월')
plt.ylabel('몸무게(kg)')
# 틱
plt.xticks(range(0,14,1))
plt.yticks(range(0,110,10))
# 그리드
plt.grid(ls=':')
plt.show()
틱 레이블 지정
- plt.xticks(눈금리스트, label = 레이블리스트)
- plt.yticks(눈금리스트, label = 레이블리스트)
- 눈금의 개수와 동일한 개수의 레이블을 지정한다.
# x축 : 0,1,2,3,4,5,6,7,8,9,10,11,12,13
# y축 : 0,10,20,30,40,50,60,70,80,90,100
xticks_lable = ['','1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월','']
yticks_lable = ['0kg','10kg','20kg','30kg','40kg','50kg','60kg','70kg','80kg','90kg','100kg']
# x축 : 0,1,2,3,4,5,6,7,8,9,10,11,12,13
# y축 : 0,10,20,30,40,50,60,70,80,90,100
x = df['월']
y = df['몸무게']
plt.plot(x,y,'bo-', mfc='r',mec='r')
# title
plt.title('월별 몸무게 변화', size=15, color='b', fontweight='bold')
# 축 레이블
plt.xlabel('월')
plt.ylabel('몸무게(kg)')
# 틱
plt.xticks(range(0,14,1), labels=xticks_lable)
plt.yticks(range(0,110,10), labels=yticks_lable)
# 그리드
plt.grid(ls=':')
plt.show()
틱 스타일 지정
- plt.tick_params( )
- direction : 틱 위치 (in, out, inout)
- length : 틱의 길이
- width : 틱의 두께
- color : 틱 색상
- labelcolor : 틱 레이블 색상
- colors : 틱과 틱 레이블 색상
- pad : 틱과 레이블 사이의 거리
- labelsize : 틱 레이블 사이즈
- axis : 축 지정
# x축 : 0,1,2,3,4,5,6,7,8,9,10,11,12,13
# y축 : 0,10,20,30,40,50,60,70,80,90,100
xticks_lable = ['','1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월','']
yticks_lable = ['0kg','10kg','20kg','30kg','40kg','50kg','60kg','70kg','80kg','90kg','100kg']
# x축 : 0,1,2,3,4,5,6,7,8,9,10,11,12,13
# y축 : 0,10,20,30,40,50,60,70,80,90,100
x = df['월']
y = df['몸무게']
plt.plot(x,y,'bo-', mfc='r',mec='r')
# title
plt.title('월별 몸무게 변화', size=15, color='b', fontweight='bold')
# 축 레이블
plt.xlabel('월')
plt.ylabel('몸무게(kg)')
# 틱
plt.xticks(range(0,14,1), labels=xticks_lable)
plt.yticks(range(0,110,10), labels=yticks_lable)
#plt.tick_params(direction='inout',length=10,width=2,color='g',labelcolor='m' )
plt.tick_params(axis='x',direction='inout',length=10,width=2,colors='g',labelsize=12 )
plt.tick_params(axis='y',direction='inout',length=10,width=2,colors='b',labelsize=12 )
# 그리드
plt.grid(ls=':')
plt.show()
'파이썬 > 시각화 matplot' 카테고리의 다른 글
pyplot으로 서브플롯 그리기 plt.pyplot (0) | 2023.05.15 |
---|---|
여러개의 그래프와 범례 (0) | 2023.05.15 |
제목, 축 레이블, 그리드 (0) | 2023.05.15 |
한글폰트사용, 색상, 마커, 선 (0) | 2023.05.15 |
목적에 따른 여러가지 그래프 (0) | 2023.05.15 |