
๐ Matplotlib
: Matplotlib์ ํ์ด์ฌ์์ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๋ค์ํ ๊ทธ๋ํ์ ์ฐจํธ๋ฅผ ๊ทธ๋ฆด ์ ์์ผ๋ฉฐ, ์ ๊ทธ๋ํ, ๋ง๋ ๊ทธ๋ํ, ํ์คํ ๊ทธ๋จ, ์ฐ์ ๋ ๋ฑ ๊ธฐ๋ณธ์ ์ธ ๊ทธ๋ํ๋ถํฐ ๋ณต์กํ 3D ํ๋กฏ๊น์ง ์ง์ํจ. ๋ํ์ด์ ํ๋ค์ค์ ๊ฐ์ ๋ฐ์ดํฐ ๋ถ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ํตํฉ๋์ด ๋ฐ์ดํฐ ๊ณผํ, ๋จธ์ ๋ฌ๋, ํต๊ณ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋๋ค.
๐ ๊ธฐ๋ณธ ๊ตฌ์กฐ
pip install matplotlib
import matplotlib.pylot as plt
plt.plot([1, 2, 3, 4]) # ๋ฆฌ์คํธ์ ๊ฐ๋ค์ y๊ฐ๋ค์ด๋ฉฐ, x๊ฐ์ ์๋์ผ๋ก ๋ง๋ค์ด์ง
plt.show()

plt.plot([1, 2, 3, 4], [1, 2, 3, 4])
plt.show()

import numpy as np
data = np.arange(1,100)
plt.plot(data)
plt.show()

data1 = np.arange(1, 50)
plt.plot(data1)
data2 = np.arange(50, 100)
plt.plot(data2)
plt.show()

๐ ์คํ์ผ ์ต์
# ํ๊ธ fonts-nanum ์ค์น
sudo apt-get install -y fonts-nanum
sudo fc-cache -fv
rm ~/.cache/matplotlib -rf
plt.rc('font', family='NanumBarunGothic')
plt.figure(figsize=(4, 5)) # ๋จ์๋ inch
plt.plot([1, 2, 3], [1, 2, 3])
plt.title('์ ๋ชฉ', fontsize=30)
plt.xlabel('X์ถ', fontsize=20)
plt.ylabel('Y์ถ', fontsize=20, rotation=0)
plt.show()

plt.figure(figsize=(15, 10))
plt.title('๋ง์ปค์ค์ ', fontsize=30)
plt.plot(np.arange(10), np.arange(10), color='deepskyblue', marker='o', linestyle='-.')
plt.plot(np.arange(10), np.arange(10)*2, color='deeppink', marker='v', linestyle='--')
plt.plot(np.arange(10), np.arange(10)*3, color='gold', marker='*', ms=10, linestyle='')
# ms : ์ ์ ํฌ๊ธฐ
# ๋ฒ๋ก
# ๊ธฐ๋ณธ ์์น๋ ์ผ์ชฝ ์๋จ
plt.legend(['10', '10*2', '10*3'], fontsize=15, loc='lower right', ncol=3)
# ncol : ์ปฌ๋ผ์ผ๋ก ์์ฑ(๊ฐ๋ก๋ก)
plt.xlim(0, 12) # x,y์ถ ๊ฐ๋ค์ ์ต๋๊ฐ
plt.ylim(0, 30)
plt.xticks(rotation=30) # ๊ฐ๋ ๋๋ฆฌ๊ธฐ x,y์ถ ๊ธ์จ๋ค
plt.yticks(rotation=30)
plt.savefig('my_plot.png') # ๊ทธ๋ํ๋ฅผ ์ด๋ฏธ์ง๋ก ์ ์ฅ
plt.show()

x = ['ํ์ด์ฌ', '์น๊ฐ๋ฐ', '๋ฐ์ดํฐ๋ถ์', '๋จธ์ ๋ฌ๋', '๋ฅ๋ฌ๋', '์ปดํจํฐ๋น์ ']
y = [95, 70, 75, 60, 50, 30]
plt.figure(figsize=(8, 5))
plt.title('AI ์ฑ์ ํ', fontsize=25)
plt.ylabel('์๊ฐ์ ์ ์')
plt.bar(x, y, alpha=0.5, color='deeppink') # ์ํ : ํฌ๋ช
๋
plt.show()

x = ['ํ์ด์ฌ', '์น๊ฐ๋ฐ', '๋ฐ์ดํฐ๋ถ์', '๋จธ์ ๋ฌ๋', '๋ฅ๋ฌ๋', '์ปดํจํฐ๋น์ ']
y = [95, 70, 75, 60, 50, 30]
plt.figure(figsize=(8, 5))
plt.title('AI ์ฑ์ ํ', fontsize=25)
plt.xlabel('์๊ฐ์ ์ ์')
plt.barh(x, y, alpha=0.5, color='deepskyblue')
plt.show()

import pandas as pd
x = ['ํ์ด์ฌ', '์น๊ฐ๋ฐ', '๋ฐ์ดํฐ๋ถ์', '๋จธ์ ๋ฌ๋', '๋ฅ๋ฌ๋', '์ปดํจํฐ๋น์ ']
y = [95, 70, 75, 60, 50, 30]
df = pd.DataFrame({"๊ณผ๋ชฉ":x, "์ ์":y})
fig, ax = plt.subplots(figsize=(5, 4)) # ๋ํ์ง,x/y์ถ ์ ์
# plt.๋ฉ์๋ ์ฐ๋ฉด ๋ค๋ฅธ ๊ฑฐ ๋ชป์, ํ๋์ ๊ฐ์ฒด(ax)๋ฅผ ๋ง๋ค๋ฉด ๋์์ ์ฒ๋ฆฌํ ์ ์์
ax.bar(df["๊ณผ๋ชฉ"], df["์ ์"])
ax.set_xlabel("๊ณผ๋ชฉ", fontsize=12)
ax.set_ylabel("์ ์", fontsize=12)
ax.set_title("ํ์ ์ ์", fontsize=20)
ax.set_xticks(range(len(df.index)))
plt.tight_layout() # ๋ ์ด์์์ด ๊ฒน์น์ง ์๋๋ก ์๋์ผ๋ก ์ ๋ฆฌํด์ฃผ๋ ํจ์
plt.show()
