๐ฅ๏ธ Deep Learning
[DL] Matplotlib ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฐํ์ฌ ์์๋ณด๊ธฐ
Bigbread1129
2024. 3. 5. 23:45
What is Matplotlib?
Matplotlib์ ๋ฅ๋ฌ๋ ์คํ์ ํ ๋ ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ ๋ฐ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํ ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
- Matplotlib์ ์ฌ์ฉํ๋ฉด ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ, ๋ฐ์ดํฐ ์๊ฐํ๊ฐ ์ฌ์์ง๊ณ , ์ฃผ๋ก ๋ฐ์ดํฐ ๋ถ์์ ํ ๋ ์ฌ์ฉํฉ๋๋ค.
- ๋ํ์ ์ผ๋ก๋ ์ , ๋ง๋ ๊ทธ๋ํ, ์ฐ์ ๋, ํ์คํ ๊ทธ๋จ ๋ฑ์ ๋ง๋ค์ ์์ต๋๋ค.
Matplotlib์ ์ด์ฉํ์ฌ ๊ทธ๋ํ ๊ทธ๋ ค๋ณด๊ธฐ
๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆด๋ ค๋ฉด Matplotlib ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ Pyplot ๋ชจ๋์ ์ด์ฉํฉ๋๋ค. ํ๋ฒ sin(์ฌ์ธ) ํจ์๋ฅผ ๊ทธ๋ฆฌ๋ ์๋ฅผ ํ๋ฒ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
import numpy as np
import matplotlib.pyplot as plt
# ๋ฐ์ดํฐ ์ค๋น
x = np.arange(0, 6, 0.1) # 0๋ถํฐ 6๊น์ง 0.1 ๊ฐ๊ฒฉ์ผ๋ก ์์ฑ
y = np.sin(x)
# ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ
plt.plot(x, y)
plt.show()
- ์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด Numpy์ arange Method๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ฌ ๋ณ์ x์ ํ ๋นํ์ต๋๋ค.
- ๋ณ์ x์ ๊ฐ ์์์ Numpy์ sin(์ฌ์ธ) ํจ์์ธ np.sin()์ ์ ์ฉํ ๋ค, ๋ณ์ y์ ํ ๋นํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋ณ์ x,y๋ฅผ ์ธ์๋ก plt.plot Method๋ฅผ ํธ์ถํด์ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฌ๊ณ , plt.show()๋ฅผ ํธ์ถํด ๊ทธ๋ํ๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํ๊ณ ๋๋ฉ๋๋ค.
Pyplot์ ๊ธฐ๋ฅ
Cos(์ฝ์ฌ์ธ)ํจ์๋ ํ๋ฒ ๊ทธ๋ ค๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฒ์๋ ๊ทธ๋ํ์ ์ ๋ชฉ, ๊ฐ labelํ์ ๋ฑ pyplot์ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ ์ฌ์ฉํด ๋ณด๊ฒ ์ต๋๋ค.
import numpy as np
import matplotlib.pyplot as plt
# ๋ฐ์ดํฐ ์ค๋น
x = np.arange(0, 6, 0.1) # 0๋ถํฐ 6๊น์ง 0.1 ๊ฐ๊ฒฉ์ผ๋ก ์์ฑ
y1 = np.sin(x)
y2 = np.cos(x)
# ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ
plt.plot(x, y1, label="sin")
plt.plot(x, y2, linestyle="--", label="cos") #cos ํจ์๋ ์ ์ ์ผ๋ก ๊ทธ๋ฆฌ๊ธฐ
plt.xlabel("x")
plt.ylabel("y")
plt.title('sin & cos') # ์ ๋ชฉ
plt.legend()
plt.show()
์ด๋ฏธ์ง ํ์ํ๊ธฐ
pyplot์๋ ์ด๋ฏธ์ง๋ฅผ ํ์ํด์ฃผ๋ Method์ธ imshow()๋ผ๊ณ ์์ต๋๋ค. ์ด๋ฏธ์ง๋ฅผ ์ฝ์ด๋ค์ผ๋๋ matplotlib.image ๋ชจ๋์ imread() Method๋ฅผ ์ด์ฉํฉ๋๋ค.
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread('') # ์ฌ๊ธฐ์ ์ด๋ฏธ์ง์ ์ ์ ํ ๊ฒฝ๋ก๋ฅผ ์ค์ ํ์
์ผํฉ๋๋ค.
plt.imshow(img)
plt.show()
- ์์ ์ฝ๋๋ฅผ ์คํํ๋ฉด ์ฝ์ ์ด๋ฏธ์ง๊ฐ ํ์๋ฉ๋๋ค.
- ์ฃผ์ํ์ ์ผ ํ ์ ์ ์ฌ์ฉ์์ ํ๊ฒฝ์ ๋ง๊ฒ ํ์ผ ์ด๋ฆ, ๊ฒฝ๋ก๋ฅผ ์ ์ ํ ์์ ํด์ผ ํฉ๋๋ค.