Boostcamp AI Tech

[Boostcamp Day-6] Data Visualization - Python과 Matplotlib

ju_young 2021. 8. 9. 20:58
728x90

버전 확인

import numpy as np
import matplotlib as mpl

print(np.__version__)
print(mpl.__version__)

[출력]

1.20.1

3.3.4

위와 같이 numpy는 1.20.1버전, matplotlib은 3.3.4버전이 설치되어있다는 것을 확인할 수 있다.

Matplotlib

기본 Plot

import matplotlib.pyplot as plt

fig = plt.figure()
plt.show() #jupyter notebook에서는 작성해주지 않아도되기 때문에 이후부터는 생략한다

[출력]

<Figure size 432x288 with 0 Axes>

fig = plt.figure()
ax = fig.add_subplot() #fig 사이즈로 ax 사이즈가 조정된다

[출력]

fig = plt.figure(figsize=(12, 7)) # figure 사이즈를 지정해 줄 수 있다.
# fig.set_facecolor('black') # 배경색(?)을 지정한다
ax = fig.add_subplot()

[출력]

fig = plt.figure()
#가로로 두 개를 나눈다
ax = fig.add_subplot(121)
ax = fig.add_subplot(122)

[출력]

fig = plt.figure()
#세로로 두 개를 나눈다
ax = fig.add_subplot(211)
ax = fig.add_subplot(212)

[출력]

 

다음과 같이 가로, 세로 2등분을 할 수도 있다.

fig = plt.figure()
ax = fig.add_subplot(221)
ax = fig.add_subplot(222)
ax = fig.add_subplot(223)
ax = fig.add_subplot(224)

[출력]

fig = plt.figure()
ax = fig.add_subplot()
x1 = np.array([1, 2, 3])
plt.plot(x1)

[출력]

fig = plt.figure()

x1 = [1,2,3]
x2 = [3,2,1]

ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)

# 각 ax에 데이터를 지정하여 plot할 수 있다.
ax1.plot(x1)
ax2.plot(x2)

[출력]

fig = plt.figure()
ax = fig.add_subplot(111)
# 다음과 같이 하나의 ax에 여러 개의 그래프를 그릴 수 있다.
ax.plot([1,1,1])
ax.plot([1,2,3])
ax.plot([3,3,3])

[출력]

fig = plt.figure()
ax = fig.add_subplot(111)

ax.plot([1,2,3], [1,2,3]) # line plot
ax.bar([1,2,3], [1,2,3]) # bar plot

[출력]

fig = plt.figure()
ax = fig.add_subplot(111)

# 다음과 같이 세 가지 방법으로 색상을 지정해줄 수 있다
ax.plot([1,1,1], color='r')
ax.plot([2,2,2], color='green')
ax.plot([3,3,3], color='#000000')

[출력]

fig = plt.figure()
ax = fig.add_subplot(111)

# 각 plot에 label을 지정해줄 수 있다.
ax.plot([1,1,1], label='1')
ax.plot([2,2,2], label='2')
ax.plot([3,3,3], label='3')
# 현재 ax에 title을 다음과 같이 지정해서 표시할 수 있다.
ax.set_title('Basic Plot')
#위에서 지정한 label들을 범례로 표시해준다
ax.legend()
#title이 무엇인지 값을 가져올 수 있다.
ax.get_title()

[출력]

fig = plt.figure()
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

# 각 ax에 title을 다음과 같이 지정해 줄 수 있다.
ax1.set_title('ax1')
ax2.set_title('ax2')
# 전체 figure에도 title을 지정해 줄 수 있다.
fig.suptitle('fig')

[출력]

fig = plt.figure()
ax = fig.add_subplot(111)

ax.plot([1,1,1], label='1')
ax.plot([2,2,2], label='2')
ax.plot([3,3,3], label='3')
ax.set_title('Basic Plot')

ax.set_xticks([0,1,2]) #xtick을 list형태로 지정할 수 있다.
ax.set_xticklabels(['zero', 'two', 'three']) #xtick에 label을 지정하여 표시할 수 있다.

#x와 y 위치를 지정하여 text를 삽입할 수 있는데 기본 align은 left-lower이다
ax.text(x=1, y=2, s='This is text')
# ax.annotate(text='This is text', xy=(1,2)) # annotate 함수를 사용해도 된다.

ax.legend()

[출력]

위에서 다음과 같이 annotate를 화살표와 같이 사용할 수 있다.

ax.annotate(text='This is text', xy=(1,2), xytext=(1.2, 2.2), arrowprops=dict(facecolor='black'))

[출력]

728x90