안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.
코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.
업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART)나 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.
<데이터 시각화 관련 글>
오늘은 지난 시간에 이어서 matplotlib.pyplot 모듈을 이용해서 그래프의 배경에 눈금(Tick)과 격자(Grid)를 표시하는 법에 대해서 공부해보겠습니다.
눈금 표시
우선 기본적인 아주 순수한 상태의 그래프를 하나 그려보겠습니다.
plt.plot([1,2,3,4])
자, 여기에 눈금들이 이미 있습니다. 자동으로 0.5 간격으로 눈금을 그려준 것을 보실 수 있을거예요.
여기서 배울 내용은 이 눈금들을 우리가 원하는대로 설정해주는 것입니다.
x축의 눈금은 xticks( ), y축의 눈금은 yticks( )로 설정해줄 수 있습니다. Numpy의 어레이로도 설정 가능한데 간격도 설정해줄 수 있으니, 일정한 간격의 눈금을 매우 세분화해서 표현하고 싶을 때 사용해주면 효과적일 것 같아요!
plt.plot([1,2,3,4])
# x축 눈금 설정
plt.xticks([0, 1, 2, 3])
# Numpy의 어레이로도 설정 가능
import numpy as np
# y축 눈금 설정
plt.yticks(np.arange(1, 5, 1))
눈금에 레이블 달기
눈금에 숫자가 아닌 문자를 표시해줄 수도 있답니다.
import numpy as np
x = np.arange(0, 100, 0.2)
plt.plot(x, x**2)
plt.title('코딩유치원 월간 방문자 수')
plt.xticks([0, 20, 40, 60, 80, 100], labels=['FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL'])
plt.yticks([0,400,1600,3600,6400,10000], ('0회','400회','1600회', '3600회', '6400회','10000회'))
눈금 스타일 설정
눈금 스타일은 tick_params( ) 함수를 이용해서 설정해줄 수 있습니다.
<설정 예시>
plt.tick_params(axis='x', direction='in', length=5, pad=6, labelsize=10, labelcolor='blue', top=True)
어떤 파라미터들이 있고 어떻게 설정 가능한지 표로 정리해놓았으니, 외우실 필요 없이 필요할 때 보시고 코딩하시면 되겠습니다.
기능 | 파라미터 | 인자 | 기본값 |
적용축 선택 | axis | 'x', 'y', 'both' | 'both' |
눈금 방향 | direction | 'in', 'out', 'inout' | 'out' |
눈금 길이 | length | int (정수) | 3 |
눈금 위치 | top/bottom/left/right | True, False | bottom / left = True top / right = False |
눈금 굵기 | width | int (정수) | 1 |
눈금 색상 | color | 지난 글 (matplotlib 3편) 참조 | 'black' |
여백 (눈금과 레이블 간격) | pad | int (정수) | 3 |
레이블 크기 | labelsize | int (정수) | 10 |
레이블 색상 | labelcolor | 지난 글 (matplotlib 3편) 참조 | 'black' |
격자 표시
격자 표시는 이 한 줄의 코드로 아주 쉽게 설정해줄 수 있습니다.
plt.grid(True)
방금 전 만들어본 '코딩유치원 월간 방문자 수' 그래프에 적용해 보겠습니다. 조금 더 가시성이 좋네요.
축 지정
만약 축 하나에만 선을 설정해주시고 싶다면, 아래와 같이 파라미터를 설정해주시면 됩니다. 따로 결과 이미지는 넣지 않겠습니다.
# 가로선이 그려짐
plt.grid(True, axis='y')
# 세로선이 그려짐
plt.grid(True, axis='x')
그리드 스타일 설정
눈금과 마찬가지로 여러가지 설정이 가능합니다.
<설정 예시>
plt.grid(True, color='red', alpha=0.5, linestyle='--')
수 많은 파라미터들 중 사용할 만한 것만 골라서 표로 정리하였습니다.
기능 | 파라미터 | 인자 | 기본값 |
라인 색상 | color | 지난 글 (matplotlib 3편) 참조 | 'gray' |
라인 스타일 | linestyle | 지난 글 (matplotlib 3편) 참조 | '-' (실선) |
라인 투명도 | alpha | 0~1.0 사이의 float | 1 |
라인 굵기 |
linewidth | int (정수) | 1 |
오늘 준비한 내용은 여기까지입니다.
오늘도 코딩유치원을 찾아주신 모든분들께 감사드립니다.
<참고 자료>
https://codetorial.net/matplotlib/set_grid.html
https://matplotlib.org/stable/api/pyplot_summary.html