Skip to Content
์ด๋ก  ๋ฐ ๊ฐœ๋… (Concepts)Visualization๊ธฐ๋ณธ ์ฐจํŠธ (Basic Charts)

๊ธฐ๋ณธ ์ฐจํŠธ (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()

Bar Chart

์ˆ˜ํ‰ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„

๋ ˆ์ด๋ธ”์ด ๊ธธ๊ฑฐ๋‚˜ ์ˆœ์œ„๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

plt.figure(figsize=(10, 6)) sns.barplot(x='value', y='category', data=df, orient='h') plt.title('Horizontal Bar Chart') plt.show()

Horizontal Bar Chart

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()

Line Chart

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()

Scatter Plot

4. ํžˆ์Šคํ† ๊ทธ๋žจ (Histogram)

๋ฐ์ดํ„ฐ์˜ ๋นˆ๋„ ๋ถ„ํฌ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

plt.figure(figsize=(10, 6)) sns.histplot(scatter_df['y'], kde=True) # kde=True: ๋ฐ€๋„ ๊ณก์„  ์ถ”๊ฐ€ plt.title('Distribution') plt.show()

Histogram

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]

Graph

Last updated on

๐Ÿค–AI Mock InterviewPractice with real questions