λ°μν
μκ°νμ λμμΈ μμΉ
μκ°νμ λμμΈ μμΉμ 5κ°μ§κ° μμ΅λλ€. νλ² λ³΄λλ‘ νκ² μ΅λλ€.
λͺ©μ μ±
- μ μ: μκ°νμ λͺ©μ μ λͺ νν νλ κ².
- μ€λͺ : μκ°νλ νΉμ μ§λ¬Έμ λ΅νκ±°λ, νΉμ μΈμ¬μ΄νΈλ₯Ό λμΆνκ±°λ, λ°μ΄ν°λ₯Ό λ μ½κ² μ΄ν΄ν μ μλλ‘ λλ μν μ ν©λλ€.
- μμ: λ§€μΆ μ¦κ°μ μμΈμ νμ νκΈ° μν κ·Έλν, μ νλ³ ν맀λ λΉκ΅λ₯Ό μν μ°¨νΈ.
κ°κ²°μ±
- μ μ: κ°κ²°νκ³ , 볡μ‘νμ§ μμμΌ ν¨.
- μ€λͺ : λΆνμν μμλ₯Ό μ κ±°νμ¬ ν΅μ¬ μ 보λ₯Ό κ°κ²°νκ² μ λ¬ν΄μΌ ν©λλ€. μ§λμΉκ² 볡μ‘ν κ·Έλνλ μ€νλ € νΌλμ μ΄λν μ μμ΅λλ€.
- μμ: λΆνμν 그리λ λΌμΈ, κ³Όλν μμ μ¬μ©, λΆνμν ν μ€νΈ λ±μ μ κ±°ν κ·Έλν.
λͺ νμ±
- μ μ: λ°μ΄ν°λ₯Ό λͺ νν μ λ¬ν΄μΌ ν¨.
- μ€λͺ : μ μ ν λ μ΄λΈ, μΆ, μ λͺ©μ μ¬μ©νμ¬ μ 보λ₯Ό λͺ νν μ λ¬ν΄μΌ ν©λλ€. κ·Έλνλ μ°¨νΈμ κ° μμκ° λͺ ννκ² μ΄ν΄λ μ μλλ‘ ν΄μΌ ν©λλ€.
- μμ: μΆ λ μ΄λΈ, λ°μ΄ν° ν¬μΈνΈμ λν μ€λͺ , μ λͺ© λ±μ ν¬ν¨ν μ°¨νΈ.
μ 보μ κ³μΈ΅κ΅¬μ‘°
- μ μ: λ°μ΄ν°μ μ€μλμ λ°λΌ μκ°μ μΌλ‘ ꡬλΆνμ¬ μ 보λ₯Ό κ³μΈ΅μ μΌλ‘ μ λ¬.
- μ€λͺ : μ€μν μ 보λ λ κ°μ‘°νκ³ , λ μ€μν μ 보λ λ κ°μ‘°νμ¬ μ 보λ₯Ό κ³μΈ΅μ μΌλ‘ μ λ¬ν΄μΌ ν©λλ€.
- μμ: μ£Όμ λ°μ΄ν° ν¬μΈνΈλ₯Ό λ ν° ν¬κΈ°λ λ°μ μμμΌλ‘ νμνκ³ , λΆμ°¨μ μΈ λ°μ΄ν°λ₯Ό μμ ν¬κΈ°λ μ°ν μμμΌλ‘ νμ.
μΌκ΄μ± (Consistency)
- μ μ: μκ°ν μ€νμΌ, μμ, λ μ΄λΈ λ±μ μΌκ΄λκ² μ μ§νμ¬ μ½κ² μΈμνκ³ μ΄ν΄ν μ μλλ‘ ν΄μΌ ν¨.
- μ€λͺ : μΌκ΄λ μ€νμΌμ μ¬μ©μκ° λ°μ΄ν°λ₯Ό λ μ½κ² μ΄ν΄νκ³ μΈμν μ μλλ‘ λμ΅λλ€.
- μμ: λμΌν λ°μ΄ν° μΈνΈμ λν΄ κ°μ μμκ³Ό μ€νμΌμ μ¬μ©νμ¬ μ¬λ¬ μ°¨νΈλ₯Ό μμ±.
μ κ·Όμ± (Accessibility)
- μ μ: λͺ¨λ μ¬μ©μκ° μ½κ² μ΄ν΄ν μ μμ΄μΌ ν¨.
- μ€λͺ : μλ§Ή μ¬μ©μλ μκ°μ₯μ μΈμ κ³ λ €νμ¬ μμκ³Ό λ μ΄λΈμ μ νν΄μΌ ν©λλ€. μ κ·Όμ± λμ μκ°νλ λ λ§μ μ¬μ©μμκ² μ μ΅ν©λλ€.
- μμ: μμλΏλ§ μλλΌ ν¨ν΄μ΄λ κΈ°νΈλ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό ꡬλΆ, μΆ©λΆν λλΉλ₯Ό κ°μ§ μμ μ ν.
μκ°ν μμλ₯Ό ν΅ν μ€λλ ₯ μλ μ΄μΌκΈ° ꡬμ±
ν¨κ³Όμ μΈ λ°μ΄ν° μκ°νλ λ¨μν μ 보λ₯Ό μ λ¬νλ κ²λΏλ§ μλλΌ,
μ²μ€μ κ΄μ¬μ λκ³ μ€μν λ©μμ§λ₯Ό κ°μ‘°νλ©° μ€λλ ₯ μλ μ΄μΌκΈ°λ₯Ό ꡬμ±νλ λ° μ€μν μν μ ν©λλ€.
λ€μμ μ΄λ₯Ό λ¬μ±νκΈ° μν μ£Όμ μκ°μ μμμ λ°©λ²λ€μ λλ€.
μκ°μ κ°μ‘°
λͺ©μ : μ€μν λ°μ΄ν°λ₯Ό κ°μ‘°νμ¬ μ²μ€μ μ£Όμλ₯Ό λκ³ ν΅μ¬ λ©μμ§λ₯Ό μ λ¬ν©λλ€.
- μμ μ¬μ©: νΉμ λ°μ΄ν° ν¬μΈνΈλ₯Ό κ°μ‘°νκΈ° μν΄ λ€λ₯Έ μμ μ¬μ©.
- ν¬κΈ° λ³ν: μ€μν λ°μ΄ν°λ₯Ό λ ν° ν¬κΈ°λ‘ νμ.
- ν μ€νΈ μΆκ°: μ€μν λ°μ΄ν° ν¬μΈνΈμ ν μ€νΈλ₯Ό μΆκ°νμ¬ μ€λͺ .
μκ°μ κ°μ‘° Example
import matplotlib.pyplot as plt
# λ°μ΄ν° μ μ
categories = ['A', 'B', 'C', 'D']
values = [10, 15, 20, 25]
# κ°μ‘°ν λ°μ΄ν°
highlight = [False, False, True, False]
# κ·Έλν μμ±
plt.figure(figsize=(10, 6))
bars = plt.bar(categories, values, color=['grey' if not h else 'orange' for h in highlight])
plt.title('Category Values with Emphasis')
plt.xlabel('Category')
plt.ylabel('Value')
# κ°μ‘°ν λ°μ΄ν° ν¬μΈνΈμ ν
μ€νΈ μΆκ°
for bar in bars:
if bar.get_height() == max(values):
plt.text(bar.get_x() + bar.get_width() / 2, bar.get_height() - 5, 'Highest Value', ha='center', color='white', weight='bold')
plt.show()
import matplotlib.pyplot as plt
# λ°μ΄ν° μ μ
categories = ['A', 'B', 'C', 'D']
values = [10, 15, 20, 25]
# κ·Έλν μμ±
plt.figure(figsize=(10, 6))
plt.bar(categories, values, color='grey')
plt.title('Category Values')
plt.xlabel('Category')
plt.ylabel('Value')
plt.show()
μ λλ©μ΄μ κ³Ό μ ν ν¨κ³Ό
λͺ©μ : μ λλ©μ΄μ μ μ¬μ©νμ¬ λ°μ΄ν° λ³νμ νλ¦μ λ λͺ ννκ² μ λ¬ ν©λλ€.
- μ λλ©μ΄μ : μκ°μ λ°λ₯Έ λ°μ΄ν° λ³νλ₯Ό μκ°μ μΌλ‘ 보μ¬μ€.
- μ ν ν¨κ³Ό: λ°μ΄ν° ν¬μΈνΈ κ°μ μ νμ λΆλλ½κ² νμ¬ λ³ν κ³Όμ μ λͺ νν μ λ¬.
μ λλ©μ΄μ μ ν ν¨κ³Ό Example
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
# λ°μ΄ν° μ μ
fig, ax = plt.subplots()
x = np.arange(0, 10, 0.1)
line, = ax.plot(x, np.sin(x))
# μ λλ©μ΄μ
ν¨μ
def update(num, x, line):
line.set_ydata(np.sin(x + num / 10.0))
return line,
ani = animation.FuncAnimation(fig, update, frames=100, fargs=[x, line], interval=50)
plt.title('Sine Wave Animation')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
from matplotlib import rc
rc('animation', html='jshtml')
ani
import matplotlib.pyplot as plt
import numpy as np
# λ°μ΄ν° μ μ
x = np.arange(0, 10, 0.1)
y = np.sin(x)
# κ·Έλν μμ±
plt.figure(figsize=(10, 6))
plt.plot(x, y)
plt.title('Sine Wave')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
λΉμ£ΌμΌ νμ€ν 리
λͺ©μ : μκ°μ μμλ₯Ό ν΅ν΄ λ°μ΄ν°μ μμ¬μ λ³νλ₯Ό 보μ¬μ€λλ€.
- νμλΌμΈ: μκ°μ λ°λ₯Έ μ£Όμ μ¬κ±΄μ΄λ λ°μ΄ν° λ³νλ₯Ό μκ°ν.
- κ³Όκ±° λ°μ΄ν°μ λΉκ΅: νμ¬ λ°μ΄ν°λ₯Ό κ³Όκ±° λ°μ΄ν°μ λΉκ΅νμ¬ λ³ν μΆμΈλ₯Ό 보μ¬μ€.
λΉμ£ΌμΌ νμ€ν 리 Example
import matplotlib.pyplot as plt
# λ°μ΄ν° μ μ
years = ['2018', '2019', '2020', '2021']
sales = [15000, 18000, 22000, 25000]
# κ·Έλν μμ±
plt.figure(figsize=(10, 6))
plt.plot(years, sales, marker='o', linestyle='-', color='b')
plt.title('Annual Sales Over Time')
plt.xlabel('Year')
plt.ylabel('Sales')
for i, txt in enumerate(sales):
plt.annotate(txt, (years[i], sales[i]), textcoords="offset points", xytext=(0,10), ha='center')
plt.show()
import matplotlib.pyplot as plt
# λ°μ΄ν° μ μ
years = ['2018', '2019', '2020', '2021']
sales = [15000, 18000, 22000, 25000]
# κ·Έλν μμ±
plt.figure(figsize=(10, 6))
plt.plot(years, sales)
plt.title('Annual Sales')
plt.xlabel('Year')
plt.ylabel('Sales')
plt.show()
μκ°νμ μ€ν 리ν λ§
μκ°ν μμλ₯Ό ν΅ν μ€λλ ₯ μλ μ΄μΌκΈ° ꡬμ±
1. λ€μν μκ°μ μμμ ν¨κ³Όμ μΈ μ¬μ©
μκ°μ μμλ₯Ό ν¨κ³Όμ μΌλ‘ μ¬μ©νλ©΄ λ°μ΄ν°λ₯Ό λͺ ννκ² μ λ¬νκ³ μ²μ€μ κ΄μ¬μ λλ©° μ€μν λ©μμ§λ₯Ό κ°μ‘°νλ λ° λμμ΄ λ©λλ€.
2. μκ°μ κ°μ‘°
- μμ μ¬μ©: νΉμ λ°μ΄ν° ν¬μΈνΈλ₯Ό κ°μ‘°νμ¬ μ²μ€μ μ£Όμλ₯Ό λ μ μμ΅λλ€.
- ν¬κΈ° λ³ν: μ€μν λ°μ΄ν°λ λ ν¬κ² νμνμ¬ κ°μ‘°ν©λλ€.
- ν μ€νΈ μΆκ°: μ€μν λ°μ΄ν° ν¬μΈνΈμ μ€λͺ μ μΆκ°νμ¬ μ΄ν΄λ₯Ό λμ΅λλ€.
3. μ λλ©μ΄μ κ³Ό μ ν ν¨κ³Ό
- μ λλ©μ΄μ : λ°μ΄ν°μ λ³νμ νλ¦μ μκ°μ μΌλ‘ λ λͺ ννκ² μ λ¬ν©λλ€.
- μ νν¨κ³Ό: λ°μ΄ν° ν¬μΈνΈ κ°μ λΆλλ¬μ΄ μ νμ ν΅ν΄ λ³ν κ³Όμ μ κ°μ‘°ν©λλ€.
4. λΉμ£ΌμΌ νμ€ν 리
- νμλΌμΈ: μκ°μ λ°λ₯Έ λ°μ΄ν° λ³νλ₯Ό μκ°μ μΌλ‘ ννν©λλ€.
- κ³Όκ±° λ°μ΄ν°μ λΉκ΅: νμ¬ λ°μ΄ν°λ₯Ό κ³Όκ±° λ°μ΄ν°μ λΉκ΅νμ¬ λ³ν μΆμΈλ₯Ό 보μ¬μ€λλ€.
μ΄μΌκΈ°λ₯Ό ν΅ν λ°μ΄ν° μ λ¬
λ°μ΄ν°μ νλ¦μ μ€ν 리μ ννλ‘ κ΅¬μ±νλ©΄ 볡μ‘ν λ°μ΄ν°λ₯Ό μ½κ² μ΄ν΄ν μ μμΌλ©°,
μ€ν 리 νμμ λ°μ΄ν°λ₯Ό λ μ€λ κΈ°μ΅μ λ¨κ² ν©λλ€.
- λμ : λ°μ΄ν°μ λ°°κ²½κ³Ό λͺ©μ μ μκ°ν©λλ€.
- μ κ°: λ°μ΄ν°λ₯Ό λ¨κ³λ³λ‘ μ€λͺ νλ©° μ£Όμ μΈμ¬μ΄νΈλ₯Ό λμΆν©λλ€.
- ν΄λΌμ΄λ§₯μ€: λ°μ΄ν°μμ κ°μ₯ μ€μν λΆλΆμ κ°μ‘°νμ¬ μ λ¬ν©λλ€.
- κ²°λ§: λ°μ΄ν°μ μμ½κ³Ό κ²°λ‘ μ μ μνκ³ , νμν κ²½μ° νλμ μꡬν©λλ€.
μ²μ€μ κ³ λ €ν μκ°ν μ€κ³
μκ°νλ₯Ό λ§λ€κΈ° μ μ μ²μ€μ΄ λꡬμΈμ§, κ·Έλ€μ λ°°κ²½κ³Ό μ§μ μμ€μ νμ νλ κ²μ΄ μ€μν©λλ€.
- λ°λͺ¨κ·Έλν½: μ²μ€μ λμ΄, μ±λ³, μ§μ , κ΅μ‘ μμ€ λ±.
- μ§μ μμ€: μ²μ€μ λ°μ΄ν° λΆμ λ° μκ°νμ λν μ΄ν΄ μμ€.
- κ΄μ¬μ¬: μ²μ€μ΄ μ΄λ€ μ 보μ κ΄μ¬μ΄ μλμ§, μ΄λ€ κ²°λ‘ μ λμΆνκ³ μ νλμ§.
λ§μΆ€ν μκ°ν
λ€μν μν©κ³Ό λ°μ΄ν°λ₯Ό 보λ μ¬λμ λ°λΌ λ§μΆ€ν μκ°νλ₯Ό ν΄μΌ νλ κ²½μ°λ μμ΅λλ€.
- κ°λ¨ν μκ°ν: λΉμ λ¬Έκ°λ μ½κ² μ΄ν΄ν μ μλλ‘ κ°λ¨ν μ°¨νΈλ κ·Έλνλ‘ νν.
- μμΈν μκ°ν: μ λ¬Έκ°λ λ°μ΄ν° λΆμκ°λ₯Ό μν΄ λ³΅μ‘ν λ°μ΄ν° κ΄κ³μ λΆμ κ²°κ³Όλ₯Ό μμΈν μκ°ν.
- μ νλ³ λ§μΆ€ν: μ²μ€μ΄ μ νΈνλ μκ°ν μ ν μ¬μ©.
μ’μ μκ°νμ μμΉ
κ³Όμ° μ’μ μκ°νμ μμΉμ 무μμΌκΉμ? νλ² μμλ³΄κ² μ΅λλ€.
- λͺ νμ± (Clarity): λ°μ΄ν°λ₯Ό λͺ ννκ³ μΌκ΄λκ² μ λ¬. μ μ ν λ μ΄λΈ, μΆ, μ λͺ© μ¬μ© λ±μ΄ μμ΅λλ€.
- κ°κ²°μ± (Simplicity): λΆνμν μμ μ κ±°νμ¬ ν΅μ¬ μ 보λ₯Ό κ°μ‘°. κ·Έλνμ λΆνμν 3D ν¨κ³Όλ μ₯μ μ κ±° λ±μ΄ μμ΅λλ€.
- μ νμ± (Accuracy): λ°μ΄ν°μ μ νν κ°μ νμνκ³ μ곑 μμ΄ λ°μ΄ν° μ λ¬. μ μ ν μΆ λ²μλ₯Ό μ€μ νμ¬ λ°μ΄ν°μ μ€μ λ³νλ₯Ό μ νν λ°μ ν΄μΌ ν©λλ€.
- μ ν©ν μ°¨νΈ μ ν μ ν: λ°μ΄ν°μ νΉμ±κ³Ό μ λ¬νλ €λ λ©μμ§μ μ ν©ν μ°¨νΈ μ νμ μ νν©λλ€.
λμ μκ°ν
κ·Έλ¬λ©΄ μ’μ μκ°νλ μλ€λ©΄, λμ μκ°νλ μκ² μ£ . μ΄λ ν κ²μ΄ μλμ§ νλ² μμλ³΄κ² μ΅λλ€.
- νΌλμ€λ¬μ (Confusion): λ°μ΄ν°κ° λͺ ννμ§ μκ³ λΆνμν μμλ‘ μΈν΄ νΌλμ μ΄λν©λλ€.
import matplotlib.pyplot as plt
# λ°μ΄ν° μ μ
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
sales = [150, 180, 175, 200, 190, 210]
# κ·Έλν μμ± (λμ μμ)
fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(111, projection='3d')
ax.bar(months, sales, zs=0, zdir='y', alpha=0.8)
ax.set_title('Monthly Sales (Confusing 3D Effect)')
ax.set_xlabel('Month')
ax.set_ylabel('Sales')
plt.show()
- λΆνμν 볡μ‘μ± (Unnecessary Complexity): μ§λμΉκ² 볡μ‘ν κ·Έλνλ λ°μ΄ν°λ₯Ό μ΄ν΄νκΈ° μ΄λ ΅κ² λ§λ κ²μ λλ€.
import matplotlib.pyplot as plt
# λ°μ΄ν° μ μ
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
sales = [150, 180, 175, 200, 190, 210]
customers = [3000, 3500, 3400, 3700, 3600, 3900]
# κ·Έλν μμ± (λμ μμ)
plt.figure(figsize=(10, 6))
plt.plot(months, sales, marker='o', label='Sales', color='blue')
plt.plot(months, customers, marker='x', label='Customers', color='green')
plt.title('Monthly Sales and Customers (Too Complex)')
plt.xlabel('Month')
plt.ylabel('Value')
plt.legend()
plt.show()
- μ곑λ λ°μ΄ν° (Distorted Data): λ°μ΄ν° μΆμ μλͺ» μ€μ νμ¬ νΉμ λ°μ΄ν°λ₯Ό κ³Όμ₯νκ±°λ μΆμ λ²μλ₯Ό μ‘°μ νμ¬ λ°μ΄ν°μ λ³νλ₯Ό κ³Όμ₯νμ¬ μ곑λ λ©μμ§λ₯Ό μ λ¬ν μμμ΅λλ€.
import matplotlib.pyplot as plt
# λ°μ΄ν° μ μ
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
returns = [5, 4.5, 4, 3.8, 4.2, 3.5]
# κ·Έλν μμ± (λμ μμ)
plt.figure(figsize=(10, 6))
plt.bar(months, returns, color='red')
plt.title('Monthly Returns Rate (Distorted)')
plt.xlabel('Month')
plt.ylabel('Returns (%)')
plt.ylim(3.5, 5)
plt.show()
- μλͺ»λ μ°¨νΈ μ ν (Inappropriate Chart Type): λ°μ΄ν°μ νΉμ±μ λ§μ§ μλ μ°¨νΈ μ νμ μ ννκ² μ λλ€. κ·Έλ¬λ©΄ λ°μ΄ν°λ₯Ό μ€ν΄νκ² ν μ μμ΅λλ€.
import matplotlib.pyplot as plt
# λ°μ΄ν° μ μ
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
sales = [150, 180, 175, 200, 190, 210]
# κ·Έλν μμ± (λμ μμ)
plt.figure(figsize=(10, 6))
plt.pie(sales, labels=months, autopct='%1.1f%%')
plt.title('Monthly Sales (Inappropriate Chart Type)')
plt.show()
λ°μν
'π Data Analysis' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Data Analysis] κ³ κΈ μ°¨νΈ μ ν & μΈν°λ ν°λΈ μκ°ν (0) | 2024.07.25 |
---|---|
[Data Analysis] κΈ°λ³Έ μ°¨νΈ μ ν λ° μ¬μ©λ² (0) | 2024.07.25 |
[Data Analysis] Data Visualization (λ°μ΄ν° μκ°ν) & μκ°μ μΈμ§ (0) | 2024.07.25 |
[Data Analysis] μκ³μ΄ λ°μ΄ν° & λ€λ³λ λΆμ (0) | 2024.07.21 |
[Data Analysis] κ°μ€ κ²μ κ³Ό A/B Test, μλλ¦¬μ€ (0) | 2024.07.20 |