๊ธฐ๋ณธ ์ฐจํธ (Basic Charts)
์ด๊ธ
ํ์ต ๋ชฉํ
์ด ๋ ์ํผ๋ฅผ ์๋ฃํ๋ฉด ๋ค์์ ํ ์ ์์ต๋๋ค:
- ๋ง๋ ๊ทธ๋ํ (Bar Chart)๋ก ์นดํ ๊ณ ๋ฆฌ ๋น๊ต
- ๋ผ์ธ ์ฐจํธ (Line Chart)๋ก ์๊ณ์ด ๋ณํ ์๊ฐํ
- ์ฐ์ ๋ (Scatter Plot)๋ก ๋ ๋ณ์ ๊ฐ ๊ด๊ณ ํ์
- ํ์ด ์ฐจํธ (Pie Chart)๋ก ๊ตฌ์ฑ ๋น์ค ํ์ธ
- ํ์คํ ๊ทธ๋จ (Histogram)์ผ๋ก ๋ฐ์ดํฐ ๋ถํฌ ํ์ธ
0. ์ฌ์ ์ค๋น (Setup)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# ํ๊ธ ํฐํธ ์ค์ (ํ๊ฒฝ์ ๋ฐ๋ผ ๋ณ๊ฒฝ ํ์, ์ฌ๊ธฐ์๋ ์๋ฌธ์ผ๋ก ์งํ)
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['axes.unicode_minus'] = False
# ๋ฐ์ดํฐ ์์ฑ
np.random.seed(42)
df = pd.DataFrame({
'category': ['A', 'B', 'C', 'D', 'E'],
'value': [23, 45, 12, 67, 34],
'value2': [20, 40, 15, 60, 30]
})
# ์๊ณ์ด ๋ฐ์ดํฐ
dates = pd.date_range(start='2023-01-01', periods=100)
ts_df = pd.DataFrame({
'date': dates,
'sales': np.random.randn(100).cumsum() + 100,
'visitors': np.random.randn(100).cumsum() + 50
})1. ๋ง๋ ๊ทธ๋ํ (Bar Chart)
๋ฒ์ฃผํ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ๋น๊ตํ ๋ ์ฌ์ฉํฉ๋๋ค.
plt.figure(figsize=(10, 6))
sns.barplot(x='category', y='value', data=df)
plt.title('Category Values')
plt.show()
์ํ ๋ง๋ ๊ทธ๋ํ
๋ ์ด๋ธ์ด ๊ธธ๊ฑฐ๋ ์์๋ฅผ ํํํ ๋ ์ ์ฉํฉ๋๋ค.
plt.figure(figsize=(10, 6))
sns.barplot(x='value', y='category', data=df, orient='h')
plt.title('Horizontal Bar Chart')
plt.show()
2. ๋ผ์ธ ์ฐจํธ (Line Chart)
์๊ฐ์ ๋ฐ๋ฅธ ๋ณํ ์ถ์ธ๋ฅผ ๋ณด์ฌ์ค ๋ ์ฌ์ฉํฉ๋๋ค.
plt.figure(figsize=(12, 6))
sns.lineplot(x='date', y='sales', data=ts_df, label='Sales')
sns.lineplot(x='date', y='visitors', data=ts_df, label='Visitors')
plt.title('Sales & Visitors Trend')
plt.legend()
plt.show()
3. ์ฐ์ ๋ (Scatter Plot)
๋ ์ฐ์ํ ๋ณ์ ์ฌ์ด์ ์๊ด๊ด๊ณ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
# ์ฐ์ ๋์ฉ ๋ฐ์ดํฐ ์์ฑ
scatter_df = pd.DataFrame({
'x': np.random.randn(100),
'y': np.random.randn(100)
})
scatter_df['y'] = scatter_df['x'] * 2 + np.random.randn(100) * 0.5 # ์๊ด๊ด๊ณ ์์ฑ
plt.figure(figsize=(8, 8))
sns.scatterplot(x='x', y='y', data=scatter_df)
plt.title('Scatter Plot')
plt.show()
4. ํ์คํ ๊ทธ๋จ (Histogram)
๋ฐ์ดํฐ์ ๋น๋ ๋ถํฌ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
plt.figure(figsize=(10, 6))
sns.histplot(scatter_df['y'], kde=True) # kde=True: ๋ฐ๋ ๊ณก์ ์ถ๊ฐ
plt.title('Distribution')
plt.show()
5. ํ์ด ์ฐจํธ (Pie Chart)
์ ์ฒด ๋๋น ๋น์ค์ ๋ณด์ฌ์ค๋๋ค. (Seaborn์ ํ์ด ์ฐจํธ๋ฅผ ์ง์ํ์ง ์์ matplotlib ์ฌ์ฉ)
plt.figure(figsize=(8, 8))
plt.pie(df['value'], labels=df['category'], autopct='%1.1f%%', startangle=90)
plt.title('Category Composition')
plt.show()์คํ ๊ฒฐ๊ณผ
[Graph Saved: generated_plot_c84ab52daf_0.png]

Last updated on