파이썬 버전 3.7 기준
matplotlib 버전 3.0.3 기준
pyplot의 그리드(Grid)와 제목(Title)의 설정 |
본 포스팅에서는 플롯에서 그리드와, 그래프 제목을 편집하는 방법에 대해 다룬다.
관련된 함수는 grid(), title(), suptitle()이 있다.
본 포스팅에서 다루는 함수들은 pyplot 모듈에 포함되어있다. 따라서 사용하기 위해서 아래와 같이 pyplot 모듈을 임폴트 해야한다.
import matplotlib.pyplot as plt
그리드(grid)의 작성 |
pyplot에서는 그래프에 그리드를 그릴 수 있도록 관련 함수를 제공한다.
gird(b=None, which='major', axis='both', **kwargs) |
이 함수는 그래프 내에 그리드를 그려주는 함수이다.
이 함수의 각 의미에 대한 설명은 다음과 같다.
입력인자 |
입력자료형 |
설명 |
b |
bool, None |
gird를 작성할지 안할지 결정해주는 입력인자이다. 만약 **kwargs가 입력되었다면 자동으로 b인자를 True라고 여겨 그리드를 작성한다. |
which |
str |
메이저 틱, 마이너 틱에 혹은 두 틱 모두 그리드 라인을 그리는 것을 결정하는 인자이다. 'major'는 메이저 틱에 대한 그리드를 그리도록 설정한다. 'minor'는 마이너 틱에 대한 그리드를 그리도록 설정한다. 'both'는 메이저 마이너 두 틱 모두 그리드를 그리도록 설정한다. |
axis |
str |
그리드를 그릴 축을 설정하는 입력인자이다. 'both'는 두 축 모두에 그리드를 그리도록 설정한다. 'x'는 x축에만 그리드를 그리도록 설정한다. 'y'는 y축에만 그리드를 그리도록 설정한다. |
**kwargs |
- |
2D 선의 속성을 설정한다. 앞선 포스팅에서 라인그래프에서 라인 속성을 편집하기 위해 입력하는 인자와 거의 동일한 인자를 입력받는다. 따라서 자세한 사항은 matplotlib의 공식홈페이지(링크)나 앞서 제작한 포스팅(링크)에서 **kwargs파트를 참고하면 된다. |
사용 형식)
grid()
grid(True)
grid(b=True, which='both', axis='both')
사용 예)
In[9]: plt.plot([1,2,3],[10,100,1000])
Out[9]: [<matplotlib.lines.Line2D at 0x4a502b0>]
In[10]: plt.grid(b=True, which='both', axis='both') # grid on
In[11]: plt.grid(False) # grid off
그래프의 제목(title)의 작성 |
pyplot은 그래프의 제목을 설정하기 위한 함수들을 제공한다.
title(label, fontdict=None, loc='center', pad=None, **kwargs) |
Axes의 제목을 설정한다.
▷ Figure 안의 하나의 그래프에 제목을 설정한다고 이해하면 편하다.
입력인자 |
입력자료형 |
설명 |
label |
str |
제목을 설정하기 위한 텍스트를 입력받는다. |
fontdict |
dict |
틱라벨의 모양을 편집하는 딕셔너리를 입력받는다. 기본 딕셔너리 값은 다음과 같다. {'fontsize': rcParams['axes.titlesize'], 'fontweight': rcParams['axes.titleweight'], 'verticalalignment': 'baseline', 'horizontalalignment': loc} |
loc |
str |
제목의 위치를 설정한다. 'center', 'left', 'right'라는 문자열로 위치 조정이 가능하다. |
pad |
float |
axes(제목을 입력할 그래프)로부터의 거리를 입력받는다. 기본 값은 None인데 이 경우 rcParams['axes.titlepad']를 사용한다. |
**kwargs |
- |
라벨의 모양을 편집하기 위해 텍스트 속성 역시 사용 가능하다. |
사용 형식)
title('title')
title('title', fontdict=dict, loc='center', pad=10.)
title(label='title', fontdict=dict, loc='center', pad=10.)
사용 예)
In[3]: plt.plot([1,2,3],[1,2,3])
Out[3]: [<matplotlib.lines.Line2D at 0x111bff50>]
In[4]: plt.title('axes title', loc='right')
Out[4]: Text(1,1,'axes title')
suptitle(t, **kwargs) |
Figure의 제목을 설정한다.
▷ Figure 자체에 제목을 지어준다.
▷ Figure 안의 모든 그래프를 대표할 수 있는 제목을 지어주는 것이 좋다.
입력인자 |
입력자료형 |
설명 |
t |
str |
Figure의 제목 텍스트를 입력한다. |
x |
float |
제목의 x 좌표를 입력한다. 기본값은 0.5이다. |
y |
float |
제목의 y 좌표를 입력한다. 기본값은 0.98이다. |
horizontalalignment, ha |
str |
가로방향으로 위치를 입력한다. 'center', 'left', 'right' 문자열을 입력함으로써 위치를 조절할 수 있다. 기본값은 'center' |
verticalalignment, va |
str |
세로방향으로 위치를 입력한다. 'top', 'center', 'bottom', 'baseline', 'center_baseline' 문자열을 입력함으로써 위치를 조절할 수 있다. 기본값은 top이다. |
fontsize, size |
float, int |
제목 텍스트의 폰트 사이즈를 결정한다. 기본 값으로 rcParams["figure.titlesize"]로 설정된 크기를 가진다. |
fontweight, weight |
float, int |
제목 텍스트의 글꼴 두께를 결정한다. 기본 값으로 rcParams["figure.titleweight"]로 설정된 크기를 가진다. |
fontproperties |
None, dict |
만약 이 변수가 입력된다면, 글꼴 크기 및 무게의 기본값은 FontProperties 기본값에서 가져옵니다. 다시 말하면 디폴트 값을 다시 설정하는 것이다. 즉, 디폴트로 불러오는 rcParams["figure.titlesize"]와 rcParams["figure.titleweight"]는 무시된다. |
**kwargs |
- |
마찬가지로 라벨의 모양을 편집하기 위해 텍스트 속성 역시 사용 가능하다. |
사용 형식)
suptitle('title')
suptitle('title', x=10, y=10, ha='center', va='center', size=10, weight=1, fontproperties=dict)
suptitle(t='title', x=10, y=10, ha='center', va='center', size=10, weight=1, fontproperties=dict)
사용 예)
In[5]: plt.plot([1,2,3],[1,2,3])
Out[5]: [<matplotlib.lines.Line2D at 0x15845a90>]
In[6]: plt.suptitle('Figure title', ha='left', va='bottom', fontsize=10)
Out[6]: Text(0.5,0.98,'Figure title')
|
|
|
| 참고자료 |
|
'Python > Matplotlib' 카테고리의 다른 글
레전드(legend, 범례) 처리기(handler) 기초 - matplotlib(12) (0) | 2019.05.08 |
---|---|
레전드(legend, 범례)의 작성법, 위치설정, 다중레전드 - matplotlib(11) (0) | 2019.05.07 |
축(axes,axis)의 포맷팅(눈금(틱,tick), 축제목(레이블,label)) - matplotlib(9) (0) | 2019.04.15 |
축(axes,axis)의 포맷팅(범위, 스케일) - matplotlib(8) (1) | 2019.04.13 |
plot함수 입력변수와 선의 포맷팅(마커, 색, 선모양 두께) - matplotlib(7) (0) | 2019.04.11 |
댓글