학습 개요
- 데이터 시각화는 복잡한 데이터를 시각적으로 표현함으로써 데이터의 구조, 패턴, 변동 등을 직관적으로 이해할 수 있도록 돕는 기술임
- 단순한 수치 나열은 사람의 인지적 부담을 증가 시키지만, 시각화는 인간의 시각 인지 체계를 활용하여 정보를 효과적으로 전달하며, 의사 결정 및 커뮤니케이션에 핵심적인 도구로 기능함
- 특히 데이터 탐색 초기 단계에서는 분석 방향을 설정하고 이상치나 추세를 식별하는 데 큰 기여를 하며, 결과 전달 단계에서는 청중의 직관적 이해를 유도하는 역할을 함
- 데이터 시각화의 개념과 필요성, 그리고 이를 실제 구현하기 위한 대표적인 오픈소스 도구인 Matplotlib에 대해 학습함
- 데이터 시각화가 다양한 영역에 걸쳐 어떤 기여를 하는지 확인하고, 인간이 시각적 대상을 어떻게 인식하는 지를 설명하는 심리학 이론인 게슈탈트 원리와 그 시각화 적용 방식에 대해 이해함
- Matplotlib 라이브러리의 구조와 기능 그리고 다양한 시각화 유형을 데이터 속성과 목적에 따라 적절히 선택하고 활용하는 방법을 학습함
학습 목표
- 데이터 시각화의 기본 개념과 필요성을 이해하고 인간의 시각 인지 원리를 데이터 시각화에 적용할 수 있음
- Matplotlib 등의 시각화 라이브러리를 활용하여 다양한 유형의 그래프와 차트를 작성할 수 있음
- 데이터의 유형과 분석 목적에 적합한 시각화 방법을 선택하고 적용할 수 있음
강의록
데이터 시각화의 이해
데이터 시각화의 개념과 필요성
- 복잡한 데이터를 시각적인 형태로 표현하는 과정
- 데이터 시각화의 필요성
- 데이터 이해도 향상
- 패턴과 추세를 한눈에 파악
- 효과적인 의사소통
- 정보를 빠르게 전달하고 직관적인 이해를 촉진
- 의사 결정 지원
- 데이터 기반 의사 결정에 필요한 통찰력 제공
- 탐색적 데이터 분석에 응용
- 데이터 이해도 향상
게슈탈트 원리와 데이터 시각화
- 데이터 시각화는 인간의 시각 인지 체계에 기반하여 설계 시 효과성 및 전달력이 향상
- 게슈탈트 원리
- 1920년대 독일 심리학자(베르트하이머, 볼프강 쾰러, 코프카, 쿠르트 레빈)들이 20세기 전반에 걸쳐 완성한 이론
- “전체는 부분의 합보다 크다”라는 철학을 바탕
- 개별 데이터 포인트보다 이들이 형성하는 패턴과 관계를 통해 더 깊은 통찰을 얻을 수 있음을 강조
- 인간이 시각적 정보를 어떻게 인식하는지 설명
게슈탈트 원리의 8요소

근접성(proximity)
- 서로 가까운 위치의 요소는 하나의 그룹으로 인식
- 데이터, 제목, 범례 등은 관련된 차트와 인접 배치 권장

유사성(similarity)
- 색상, 모양, 크기 등이 유사하면 동일 그룹으로 인식
- 유사한 데이터 요소를 일관된 시각 속성으로 표현 권장

폐쇄성(closure)
- 불완전한 형태도 완전하게 인식하려는 인지적 특성
- 최소한의 시각 정보로도 이해 가능한 구성 설계

연속성(continuity)
- 정렬된 요소는 하나의 흐름으로 인식
- 시간 순 정렬, 오름차순/내림차순 정렬로 데이터 패턴 강조

공동 운명(common fate)
- 같은 방향으로 움직이거나 변화하는 요소들을 동일한 그룹으로 인식

대칭성(symmetry)
- 대칭적으로 배치된 형태를 보다 안정적이고 정돈된 구조로 인식

단순성(prägnanz)
- 복잡하고 모호한 시각적 정보를 가장 단순하고 안정적이며 의미 있는 형태로 해석

전경-배경(figure-ground)
- 중심(전경, figure)에 대한 명확한 초점이 형성되어야 사람들이 어떤 요소에 주목해야 하는지 판단
- 배경(ground)은 이를 보완하거나 강조하는 역할
![image.png]()
데이터 유형에 따른 시각화 방법
| 유형 | 정의 | 시각화 기법 | 특징 및 용도 |
|---|---|---|---|
| 범주형 데이터 | 몇 개의 구분된 범주로 구분되는 데이터 | 막대 그래프, 파이 차트, 도넛 차트 | 범주별 빈도/비율 비교, 전체에서 각 범주의 비중 강조, 많은 범주 시 가독성 저하 |
| 수치형 데이터 | 연속적인 수치 값을 가지는 데이터 | 선 그래프, 히스토그램, 산점도, 박스 플롯, 바이올린 플롯 | 분포, 상관 관계, 변동성 등을 시각적으로 표현, 다양한 통계 지표 표현 가능 |
| 시계열 데이터 | 시간의 흐름에 따라 변화하는 데이터 | 영역 그래프, 히트맵, 선 그래프 | 시간 변화 추세 표현, 누적 변화, 주기성 등 파악에 효과적 |
| 지리 데이터 | 지리 위치 정보를 포함한 데이터 | 지도 시각화 | 공간적 패턴 분석에 유용, 특정 지역별 데이터 밀도 및 분포 시각화 가능 |
지리 데이터 시각화의 예

Matplotlib 라이브러리
Matplotlib 소개
- 파이썬에서 가장 많이 사용되는 데이터 시각화 라이브러리
- 2003년 John D. Hunter에 의해 개발
- MATLAB의 그래프 작성 기능에서 영감을 받아 설계
- 과학 및 공학 분야에서 데이터 표현을 위한 강력한 도구
- 주요 기능
- 광범위한 유형의 시각화 지원 및 복합 시각화 가능
- 그래프를 세밀하게 조정 가능한 사용자 정의 기능 제공
- PDF, PNG, SVG, JPEG 등 다양한 이미지 형식 지원
- Colab, GUI 애플리케이션 등 다양한 환경에서 동작
Matplotlib 기본 구조

Colab 한글 폰트 설정
matplotlib에서 한글을 사용하기 위해서는 특별한 설정 필요- 나눔 폰트 설치
class="highlight">










