[Python matplotlib] 눈금(ticks)과 눈금 이름(tick label), 축 이름(label), 제목( title) 설정하기
Python 분석과 프로그래밍/Python 그래프_시각화 2021. 11. 27. 16:22이번 포스팅에서는 Python matplotlib 모듈로 그래프를 그릴 때,
(1) 눈금 설정하기 : set_xticks(), set_yticks()
(2) 눈금 이름 설정하기 : set_xticklabels(), set_yticklabels()
(3) 축 이름 설정하기 : set_xlabel(), set_ylabel()
(4) 제목 설정하기 : set_title()
하는 방법을 소개하겠습니다.
먼저, numpy 모듈을 사용해서 표준정규분포 X~N(0, 1) 로부터 난수 100개를 생성해서 matplotlib의 기본 설정으로 선 그래프를 그려보겠습니다. matplotlib의 Figure 객체를 만들고, fig.add_subplot(1, 1, 1) 로 하위 플롯을 하나 만든 다음에 선 그래프를 그렸습니다.
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(1, 1, 1)
np.random.seed(1)
x=np.arange(100)
y=np.random.normal(0, 1, 100)
## plot with default setting
ax.plot(x, y)
plt.show()
(1) 눈금 설정하기 : set_xticks(), set_yticks()
X축의 눈금을 [0, 50, 100] 으로 설정하고, Y축의 눈금은 [-2, 0, 2] 로 설정해보겠습니다.
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(1, 1, 1)
ax.plot(x, y)
## setting xticks, yticks
ax.set_xticks([0, 50, 100])
ax.set_yticks([-2, 0, 2])
plt.show()
(2) 눈금 이름 설정하기 : set_xticklabels(), set_yticklabels()
X축과 Y축에 눈금이름(xticklabel, yticklabel)을 설정해줄 수도 있습니다. 이때 set_xticks(), set_yticks() 메소드로 눈금의 위치를 먼저 설정해주고, 이어서 같은 개수의 눈금 이름을 가지고 set_xticklabels(), set_yticklabels() 메소드로 눈금 이름을 설정해주면 됩니다.
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(1, 1, 1)
ax.plot(x, y)
## setting xticks, yticks with labels
ax.set_xticks([0, 50, 100])
ax.set_yticks([-2, 0, 2])
ax.set_xticklabels(['start', 'middel', 'end'], fontsize=12)
ax.set_yticklabels(['low', 'zero', 'high'], fontsize=12)
plt.show()
(3) 축 이름 설정하기 : set_xlabel(), set_ylabel()
set_xlabel(), set_ylabel() 메소드로 축 이름(xlabel, ylabel)을 설정해 줄 때 fontsize 매개변수를 사용해서 글자 크기를 조정할 수 있습니다.
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(1, 1, 1)
ax.plot(x, y)
## setting xticks, yticks with labels
ax.set_xticks([0, 50, 100])
ax.set_yticks([-2, 0, 2])
ax.set_xticklabels(['start', 'middel', 'end'], fontsize=12)
ax.set_yticklabels(['low', 'zero', 'high'], fontsize=12)
## setting xlabel, ylabel
ax.set_xlabel('Steps', fontsize=16)
ax.set_ylabel('Value', fontsize=16)
plt.show()
(4) 제목 설정하기 : set_title()
제목의 텍스트, 폰트 크기(fontsize), 위치(loc={'center', 'left', 'right'}) 를 설정해 줄 수 있습니다.
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(1, 1, 1)
ax.plot(x, y)
## setting xticks, yticks with labels
ax.set_xticks([0, 50, 100])
ax.set_yticks([-2, 0, 2])
ax.set_xticklabels(['start', 'middel', 'end'], fontsize=12)
ax.set_yticklabels(['low', 'zero', 'high'], fontsize=12)
## xlabel, ylabel
ax.set_xlabel('Steps', fontsize=16)
ax.set_ylabel('Value', fontsize=16)
# title
ax.set_title('Plo with ticks and labels',
fontsize=20,
loc='left') # 'center', 'right'
plt.show()
[ Reference ]
* ax.set_xticks(): https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.set_xticks.html
* ax.set_xticklabels(): https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.set_xticklabels.html
* ax.set_xlabel(): https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.set_xlabel.html
* ax.set_title(): https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.axes.Axes.set_title.html
이번 포스팅이 많은 도움이 되었기를 바랍니다.
행복한 데이터 과학자 되세요! :-)
'Python 분석과 프로그래밍 > Python 그래프_시각화' 카테고리의 다른 글
[Python matplotlib] 그래프 X축의 범주형 항목 순서 변경하기 (changing the order of x-axis xticks) (0) | 2022.01.06 |
---|---|
[Python matplotlib] 범례 추가하기 (adding a legend) (0) | 2021.11.27 |
[Python matplotlib] 여러개의 하위 플롯 간격을 조절해서 붙이고, X축, Y축을 공유해서 시각화하기 (0) | 2021.11.21 |
[Python matplotlib] 그래프에 수평선, 수직선 추가하기 (adding horizontal, vertical lines) (5) | 2021.10.06 |
[Python matplotlib] 이중축 그래프 그리기 (plot with 2 axes) (0) | 2021.10.02 |