Python/Matplotlib

[Matplotlib] 파이썬 그래프 그리드(격자) 설정

jimmy_AI 2022. 1. 31. 13:22
반응형

파이썬 그리드 지정 함수 사용법 : plt.grid()

안녕하세요. 이번 시간에는 파이썬 matplotlib으로 그래프 내에서

격자 눈금을 원하는대로 그리는 방법에 대해서 살펴보도록 하겠습니다.

 

 

기본 격자 설정 방법

먼저, 예시를 위하여 아래와 같이 0~10 범위의 빈 플롯을 생각해보겠습니다.

import matplotlib.pyplot as plt

plt.xlim(0, 10)
plt.ylim(0, 10)

plt.show()

이제, plt.grid() 메소드를 호출하여 기본적인 격자를 생성하면 아래처럼 나타납니다.

plt.xlim(0, 10)
plt.ylim(0, 10)

plt.grid() # 기본 격자 설정

plt.show()

현재 xticks, yticks의 간격이 기본적으로 2로 지정되어 있어

2 간격으로 그리드가 생성되었음을 확인할 수 있었습니다.

 

 

격자 눈금 간격 변경

격자 눈금 간격은 xticks, yticks로 설정한 눈금에 의해 좌우되므로,

xticks, yticks를 지정하여 그리드 간격도 변경이 가능합니다.

plt.xlim(0, 10)
plt.ylim(0, 10)

# 눈금 간격 1로 변경(x, y축 모두)
plt.xticks(range(11))
plt.yticks(range(11))

plt.grid()

plt.show()

그리드 간격을 1로 변경하였더니, 더 촘촘한 눈금이 그려진 것을 확인할 수 있었습니다.

반응형

격자 축 지정(x축, y축 그리드만 설정)

이번에는 x축, y축 중 1가지의 눈금만 그리는 방법을 살펴보겠습니다.

plt.grid() 메소드 내에서 axis 인자를 원하는 축 방향만 지정해주시면 됩니다.

 

예시로, x축의 눈금만 그리는 경우를 살펴보겠습니다.

plt.xlim(0, 10)
plt.ylim(0, 10)

plt.xticks(range(11))
plt.yticks(range(11))

plt.grid(axis = 'x') # x축 방향만 눈금 생성

plt.show()

마찬가지로 axis = 'y'로 설정시 y축 방향 격자만 그릴 수도 있습니다.

 

 

격자 스타일 지정(색깔, 점선, 굵기)

plt.plot() 함수에서 선의 스타일을 지정하는 방법과 마찬가지로

그리드 선도 색상, 점선 여부, 굵기 등 여러 속성을 지정할 수 있습니다.

 

아래 예시를 통해 격자 선의 스타일을 지정한 예시를 살펴보겠습니다.

plt.xlim(0, 10)
plt.ylim(0, 10)

plt.xticks(range(11))
plt.yticks(range(11))

# 오렌지 색, : 모양 점선, 굵기 = 2 지정
plt.grid(color = 'orange', linestyle = ':', linewidth = 2)

plt.show()

color 인자를 통하여 색상을, linestyle 인자로 점선 여부를,

linewidth 인자로 굵기를 지정한 예시를 살펴보았습니다.

 

x축, y축 눈금의 스타일을 다르게 지정하는 것도 아래처럼 진행이 가능합니다.

plt.xlim(0, 10)
plt.ylim(0, 10)

plt.xticks(range(11))
plt.yticks(range(11))

# x, y축 눈금 따로 설정
plt.grid(axis = 'x', color = 'orange', linestyle = ':', linewidth = 2)
plt.grid(axis = 'y', color = 'purple', linestyle = '--', linewidth = 1)

plt.show()

y축 방향으로는 -- 스타일, 굵기 1의 보라색 격자가 생성되었습니다.

 

이 외에도 더 다양한 격자 스타일의 종류도 지원하지만,

상세한 사용법은 plt.plot() 혹은 plt.grid() 함수의 공식 문서를 살펴보시면

원리 이해에 도움이 되실 것으로 생각하며, 여기서의 추가 논의는 생략하도록 하겠습니다.