파이썬 버전 3.7 기준
matplotlib 버전 3.0.3 기준
축(axes,axis)의 포맷팅(틱(tick), 축제목(레이블,label)) |
본 포스팅에서는 플롯에서 축의 틱과, 축 제목을 편집하는 방법에 대해 다룬다.
관련된 함수는 xticks(), yticks(), ticklabel_format(), minorticks_on(), minorticks_off(), xlabel(), ylabel()이 있다.
본 포스팅에서 다루는 함수들은 pyplot 모듈에 포함되어있다. 따라서 사용하기 위해서 아래와 같이 pyplot 모듈을 임폴트 해야한다.
import matplotlib.pyplot as plt
축의 틱(tick) 편집 |
pyplot과 Axes모듈에서 제공하는 함수를 이용하여 축의 틱과 축의 틱 레이블을 편집할 수 있다.
xticks(ticks=None, labels=None, **kwargs) yticks(ticks=None, labels=None, **kwargs) |
이 함수들은 pyplot 모듈에 포함되어 있다.
이 함수들은 x, y축의 틱을 편집할 수 있게 해주는 함수들이다.
각 입력변수에 대한 설명은 아래와 같다.
입력인자 |
입력자료형 |
설명 |
ticks |
array_like |
틱이 위치하는 위치의 리스트이다. 각 축의 틱을 사용하지 않게하기 위해서 빈 리스트을 입력하는 것도 가능하다. |
labels |
array_like |
ticks에서 설정한 위치에서 표시할 레이블을 설정한다. 문자열이나 다른 숫자로도 변경이 가능하다. |
**kwargs |
- |
레이블의 모양을 편집하기 위해 텍스트 속성 역시 사용 가능하다. |
사용 형식)
xticks(array_like); yticks(array_like)
xticks(array_like1, array_like2); yticks(array_like1, array_like2)
여기서 array_like1은 실제 들어가는 틱이고, array_like2는 그래프에 틱자리에 표시될 레이블이다.
사용 예제)
In[5]: plt.xticks([1,2,3])
Out[5]:
([<matplotlib.axis.XTick at 0xebba8d0>,
<matplotlib.axis.XTick at 0xebba4b0>,
<matplotlib.axis.XTick at 0xebba310>],
<a list of 3 Text xticklabel objects>)
In[6]: plt.yticks([1,2,3])
Out[6]:
([<matplotlib.axis.YTick at 0x12b55eb0>,
<matplotlib.axis.YTick at 0x12b55a90>,
<matplotlib.axis.YTick at 0x12b4bdb0>],
<a list of 3 Text yticklabel objects>)
In[7]: plt.xticks([1,2,3], ['11','12','13'])
Out[7]:
([<matplotlib.axis.XTick at 0x12b556d0>,
<matplotlib.axis.XTick at 0x12b552d0>,
<matplotlib.axis.XTick at 0x12b68bf0>],
<a list of 3 Text xticklabel objects>)
In[8]: plt.yticks([1,2,3], ['11','12','13'])
Out[8]:
([<matplotlib.axis.YTick at 0x12b55eb0>,
<matplotlib.axis.YTick at 0x12b55a90>,
<matplotlib.axis.YTick at 0x12b4bdb0>],
<a list of 3 Text yticklabel objects>)
ticklabel_format(*, axis='both', style='', scilimits=None, useOffset=None, useLocale=None, useMathText=None) |
이 함수들은 pyplot 모듈에 포함되어 있다.
이 함수들은 x, y축의 틱의 포멧을 편집할 수 있게하며, 기본값으로 사용되는 ScalarFormatter를 수정한다.
각 입력인자로 편집할 수 있는 것은 다음과 같다.
입력인자 |
입력자료형 |
설명 |
axis |
str |
포멧을 설정할 축을 선택한다. 'x', 'y', 'both'문자열을 입력받아 축을 결정한다. |
style |
str |
일반적인 숫자 형식과 과학적 표기법 중 무엇을 사용할지 선택한다. 'sci' (or 'scientific'), 'plain'을 입력함으로써 설정을 변경할 수 있다. |
scilimits |
tuple(int) |
과학적 표기법을 사용할 경우(m, n)를 입력하여 10^m에서 10^n범위 밖으로 나갈경우 과학적 표기법을 사용한다. m과 n은 정수를 입력받는다 (0,0)을 입력할 경우 모든 숫자가 포함된다. (m,m)을 입력할 경우(m이 0이 아닌 경우에 한함) 오더를 10^m에 고정시킨다. |
useOffset |
bool, offset |
True일 경우 오프셋이 필요하다면 계산한다. False일 경우 오프셋을 사용하지 않는다. 숫자일 경우 명시된 숫자를 오프셋으로 사용한다. |
useLocale |
bool |
True일 경우 숫자를 현재 위치에 따라 포맷팅한다. 이것은 소수구별기호같은 문자에 영향을 미친다. False일 경우 C-스타일 포멧팅을 사용한다. 기본값은 axes.formatter.use_locale rcparam에 따라간다. |
useMathText |
bool |
True일 경우 mathtext로 과학적 표기법과 오프셋을 랜더링한다. |
사용 예제)
In[67]: plt.ticklabel_format(axis='x',style='sci',scilimits=(0,1), useOffset=2, useLocale=True, useMathText=True)
In[68]: plt.plot([0.001,2,9],[1,2,3])
Out[68]: [<matplotlib.lines.Line2D at 0x14d7d9b0>]
minorticks_off() minorticks_on() |
이 함수들은 pyplot 모듈에 포함되어 있다.
이 함수들은 minor tick을 표시할지 안할지 결정해주는 함수이다.
minorticks_on()함수는 minor tick을 표시하도록 하며, minorticks_off()는 minor tick을 표시 안하도록 한다.
사용 형식)
minorticks_off()
minorticks_on()
사용 예제)
# minorticks 표시
In[9]: plt.minorticks_on()
In[10]: plt.plot([0.001,2,9],[1,2,3])
Out[10]: [<matplotlib.lines.Line2D at 0x1630cb30>]
# minorticks 표시하지 않음
In[11]: plt.minorticks_off()
In[12]: plt.plot([0.001,2,9],[1,2,3])
Out[12]: [<matplotlib.lines.Line2D at 0x47870d0>]
축의 레이블(label) 편집 |
pyplot에서 제공하는 함수를 이용하여 축의 레이블 혹은 축 제목을 설정할 수 있다.
xlabel(xlabel, fontdict=None, labelpad=None, **kwargs) ylabel(ylabel, fontdict=None, labelpad=None, **kwargs) |
이 함수들은 pyplot 모듈에 포함되어 있다.
이 함수들은 x, y축의 렝비ㅡㄹ을 설정하는 기능을 한다.
각 입력변수에 대한 설명은 아래와 같다.
입력인자 | 입력자료형 | 설명 |
xlabel ylabel | str | 각 축의 레이블의 이름을 설정하기 위한 문자열이 입력된다. |
labelpad | int, float | 각 축과 레이블사이의 간격이 입력된다. |
**kwargs | - | 레이블의 모양을 편집하기 위해 텍스트 속성 역시 사용 가능하다. |
사용 형식)
xlabel('x label'); ylabel('y label')
xlabel(labelpad=5); ylabel(labelpad=10)
사용 예제)
In[13]: plt.xlabel('x-axis', labelpad=10)
Out[13]: Text(0.5,22.0233,'x-axis')
In[14]: plt.ylabel('y-axis')
Out[14]: Text(42.5972,0.5,'y-axis')
|
|
|
| 참고자료 |
|
|
|
|
'Python > Matplotlib' 카테고리의 다른 글
레전드(legend, 범례)의 작성법, 위치설정, 다중레전드 - matplotlib(11) (0) | 2019.05.07 |
---|---|
pyplot 그리드(grid)와 제목(title) - matplotlib(10) (0) | 2019.04.17 |
축(axes,axis)의 포맷팅(범위, 스케일) - matplotlib(8) (1) | 2019.04.13 |
plot함수 입력변수와 선의 포맷팅(마커, 색, 선모양 두께) - matplotlib(7) (0) | 2019.04.11 |
pyplot 개요와 그래프 작성 기초 - matplotlib(6) (0) | 2019.04.10 |
댓글