240514 Today I Learn
Seaborn ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด ์ฐ์ ๋ ๊ทธ๋ฆฌ๊ธฐ
๐ก Seaborn
์๊ฐํ๋ฅผ ์ํ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋๋ก, ๋ค์ํ ์ข ๋ฅ์ ๊ทธ๋ํ๋ฅผ ์์ฑํ๊ธฐ ์ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ค.
- matplotlib ๊ธฐ๋ฐ
- ๋น๊ต์ ์งง์ ์ฝ๋๋ก๋ ํต๊ณํ์ ์ฃผ์ ๊ทธ๋ํ๋ฅผ ๋น ๋ฅด๊ณ ํธ๋ฆฌํ๊ฒ ๋ง๋ค ์ ์์.
Seaborn ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด ์ฐ์ ๋ ๊ทธ๋ฆฌ๊ธฐ
1. seaborn ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ import ํด์ค๋ค.
import seaborn as sns
2. seaborn ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ฐ์ ๋๋ฅผ ๊ทธ๋ฆฌ๋ ํจ์๋ .scatterplot์ด๋ค.
๐ก seaborn ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก scatter plot ๊ทธ๋ฆฌ๊ธฐ
sns.scatterplot(data=๋ฐ์ดํฐ ํ๋ ์, x=x์ถ์ ๋ค์ด๊ฐ ์ปฌ๋ผ, y=y์ถ์ ๋ค์ด๊ฐ ์ปฌ๋ผ) # ์ด๋ x์ y ๊ฐ์๋ df['์ปฌ๋ผ๋ช '] ํ์์ด ์๋ '์ปฌ๋ผ๋ช ' ํ์์ผ๋ก ์ ๋ ฅ
sns.scatterplot(data=tips, x="total_bill", y="tip")
Seaborn Scatter Plot ์ถ๊ฐ ๊ธฐ๋ฅ
- hue ๋ฒ์ฃผํ ์๋ฃ์ ๊ฒฝ์ฐ ๊ฐ์ ๋ฐ๋ผ ์์ ๋งตํํ ์ ์๋ค.
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time", alpha=0.5)
→ hue์ ๋ฒ์ฃผํ ๋ฐ์ดํฐ๋ก ๊ตฌ๋ถ๋ ์ปฌ๋ผ 'time'์ ๋ฃ์ด์ฃผ์๋ค.
- syle ๋ฟ๋ง ์๋๋ผ ์คํ์ผ(๋ํ)์ ๋ค๋ฅด๊ฒ ํ ์ ์๋ค.
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time", style="time")
- Scale๋ก ๊ตฌ๋ถ๋ ์๋ฃ์ ๊ฒฝ์ฐ ์๊น์ ๋ณํ๋ก ํํ์ด ๊ฐ๋ฅํ๋ค.
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="size")
- palette๋ฅผ ์ด์ฉํด ์์ ํ๋ ํธ๋ฅผ ์ง์ ํ ์ ์๋ค.
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="size", palette="deep")
๐จ ๋ค์ํ ์์ ํ๋ ํธ
Matplotlib์ ์ด์ฉํด ์ฐ์ ๋ ๊ทธ๋ฆฌ๊ธฐ
- ๊ธฐ๋ณธ ๊ทธ๋ํ
# matplotlib
import matplotlib.pyplot as plt
plt.scatter(tips['total_bill'],tips['tip'])
plt.title('matplotlib')
plt.xlabel('total_bill')
plt.ylabel('tip')
# seaborn
sns.scatterplot(data=tips, x="total_bill", y="tip")
plt.title('Seaborn')
→ seaborn์ ์ด์ฉํ ์ฝ๋๊ฐ ํจ์ฌ ๊ฐ๋จํ ๊ฒ์ ํ์ธํ ์ ์์.
- ๊ฐ์ ๋ฐ๋ผ ์์ ๋งตํ
# matplotlib
import matplotlib.pyplot as plt
lst = ['Lunch','Dinner']
for t in lst:
plt.scatter(tips[tips['time']==t]['total_bill'],
tips[tips['time']==t]['tip'],
alpha=0.5)
plt.title('matplotlib')
plt.xlabel('total_bill')
plt.ylabel('tip')
plt.legend(lst)
# seaborn
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time", alpha=0.5)
plt.title('Seaborn')
→ seaborn์ ๊ฒฝ์ฐ 'hue' ์ต์ ์ ํตํด ๊ฐ๋จํ๊ฒ ์์ ๋ฒ์ฃผํ์ผ๋ก ๊ตฌ๋ถํ ์ ์์ผ๋, matplotlib์ ๊ฒฝ์ฐ for๋ฌธ์ ํตํด ๋ฒ์ฃผ๋ฅผ ๊ตฌ๋ถํด์ค์ผํ๋ค.