반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.

 

업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART) 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.

 

 

<데이터 시각화 관련 글>

 

2021.07.04 - [파이썬 패키지/데이터분석] - [Python/matplotlib] 데이터 시각화 라이브러리_1편.matplotlib 소개 및 한글 폰트 깨짐 해결 방법(ft.Jupyter notebook, Colab 환경)

2021.07.05 - [파이썬 패키지/데이터분석] - [Python/matplotlib] 데이터 시각화 라이브러리_2편.matplotlib 그래프 그리기(ft. 데이터 입력, 축 이름(label), 범례(legend), 제목(title) 설정)

2021.07.06 - [파이썬 패키지/데이터분석] - [Python/matplotlib] 데이터 시각화 라이브러리_3편.matplotlib 그래프 그리기(선 색상, 종류, 마커 설정)

 


 

오늘은 지난 시간에 이어서 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

 

Matplotlib 그리드 설정하기 - Codetorial

예제 import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 2, 0.2) plt.plot(x, x, 'bo') plt.plot(x, x**2, color='#e35f62', marker='*', linewidth=2) plt.plot(x, x**3, color='springgreen', marker='^', markersize=9) plt.grid(True, axis='y', co

codetorial.net

 

 

https://matplotlib.org/stable/api/pyplot_summary.html

 

matplotlib.pyplot — Matplotlib 3.4.2 documentation

cubehelix Unlike most other color schemes cubehelix was designed by D.A. Green to be monotonically increasing in terms of perceived brightness. Also, when printed on a black and white postscript printer, the scheme results in a greyscale with monotonically

matplotlib.org

 

 

 

 

 

반응형

+ Recent posts