Chapter 13: 데이터 시각화 - 숫자를 그래프로¶
🎯 이 장에서 배우는 것¶
- [ ] 수집한 데이터를 텍스트 막대그래프로 표현할 수 있다
- [ ] 시간에 따른 변화 패턴을 시각적으로 확인할 수 있다
⏱️ 예상 학습 시간: 약 30분
📚 미리 알아야 할 것¶
- 리스트에 데이터 저장하기 (Chapter 11)
- 반복문으로 데이터 처리하기 (Chapter 12)
📚 핵심 개념¶
개념: 데이터 시각화¶
비유: 시각화는 숫자에 옷을 입히는 것과 같아요!
숫자만 볼 때: 23, 25, 28, 24, 22
→ "음... 대충 20도 정도?"
그래프로 볼 때:
08시 ████████ 23°C
10시 ██████████ 25°C
12시 █████████████ 28°C ← 점심때 가장 덥네!
14시 ██████████ 24°C
16시 ████████ 22°C
💡 핵심: 그래프로 보면 패턴이 한눈에 보여요!
🔨 따라하기¶
Step 1: 막대그래프 함수 만들기¶
코드:
def draw_bar(label, value, max_value=30):
"""값을 막대그래프로 표시"""
bar_length = int(value / max_value * 20) # 최대 20칸
bar = "█" * bar_length
print(f"{label} {bar} {value}")
# 테스트
draw_bar("온도", 25)
실행 결과:
온도 ████████████████ 25
Step 2: 시간별 온도 데이터 시각화¶
코드:
# 가상의 시간별 온도 데이터
times = ["08시", "10시", "12시", "14시", "16시"]
temps = [23, 25, 28, 24, 22]
print("=== 오늘의 온도 변화 ===\n")
for i in range(len(times)):
draw_bar(times[i], temps[i])
실행 결과:
=== 오늘의 온도 변화 ===
08시 ███████████████ 23
10시 ████████████████ 25
12시 ██████████████████ 28
14시 ████████████████ 24
16시 ██████████████ 22
✅ 체크포인트: 12시에 막대가 가장 긴 게 보이시나요?
📝 전체 코드¶
def draw_bar(label, value, max_value=30):
"""값을 막대그래프로 표시"""
bar_length = int(value / max_value * 20)
bar = "█" * bar_length
print(f"{label} {bar} {value}")
# 시간별 온도 데이터
times = ["08시", "10시", "12시", "14시", "16시"]
temps = [23, 25, 28, 24, 22]
print("=== 오늘의 온도 변화 ===\n")
for i in range(len(times)):
draw_bar(times[i], temps[i])
# 최고/최저 온도 찾기
print(f"\n📈 최고: {max(temps)}°C")
print(f"📉 최저: {min(temps)}°C")
⚠️ 주의할 점¶
막대 길이가 0이 되는 경우
# max_value보다 훨씬 작은 값은 막대가 안 보일 수 있어요
draw_bar("미세", 1, max_value=100) # 막대가 거의 안 보임
# 해결: max_value를 데이터에 맞게 조절하세요!
✅ 점검하기¶
- 왜 숫자보다 그래프가 좋을까요?
정답 확인
패턴(증가/감소, 최대/최소)을 한눈에 파악할 수 있어요!"█" * 5의 결과는?
정답 확인
`█████` - 문자열을 숫자만큼 반복합니다.🚀 다음 장 미리보기¶
Chapter 14에서는 여러 센서 데이터를 하나의 대시보드로 통합해볼 거예요!
온도, 조도를 한 화면에서 모니터링하는 미니 프로젝트를 만들어봅니다. 🎛️