[KT] AIVLE School/사전학습

데이터 시각화 이해와 실무 (1) - 정적 시각화

Boxya 2025. 3. 18. 19:58

데이터 시각화

  • 직관적으로 정보를 확인하는 효과적인 방법
  • 적절한 그래프 유형 선택옵션 활용이 중요

데이터 시각화 이유

  • Visual Explanation
  • Text Explanation
    • A 대학은 경영학과 신입생 평균 학점 4.3, 정치학 2.4, 물리학 2점을 기록한 가운데, B대학은 각각 2.5, 4.4, 2점을 기록했다.
  • Anscombe 예제 : 기술 통계 vs 데이터 시각화
    • 통계학자 Anscombe이 시각화의 중요성을 주장하며 제시한 예시 - 기술 통계량에만 의존하면 안되는 이유

그래프 구성 요소

  • 그래프를 구성하는 요소와 방식을 안다면 다양한 활용 가능
    • figure: 도화지(그림 전체)
    • axes: 도화지 내 plot이 그려지는 공간
    • axis: plot의 축 -> y축, x축

파이썬 시각화 라이브러리

  • 대표적으로 matplotlib과 Seaborn을 많이 사용함
  Matplotlib Seaborn
기능 파이썬의 기본적인 시각화 라이브러리 통계 시각화에 특화
디스플레이 기본적이고 단순한 디스플레이 다채로운 시각화 가능
복잡도 한 줄의 코드로 복잡한 그래프 구현 어려움 쉽고 간단하게 복잡한 기능 구현
다중성 여러 개의 시각화 가능 다중 시각화 어려움(메모리 부족 이슈)
유연성 유연한 인터페이스 제공 (즉, 원하는 기능 구현 용이) 유연성이 상대적으로 떨어짐

 


Matplotlib

  • 파이썬의 가장 인기 있는 데이터 시각화 라이브러리로 2D 형태의 그래프와 이미지를 그릴 때 많이 사용
  • pyplot 모듈을 많이 사용, 주로 plt라는 별칭을 이용하여 호출
import matplotlib.pyplot as plt

Matplotlib 예시

  • 특징
    • 유연한 인터페이스
  • Matplotlib 그래프 그리기
    1. plt.figure() : 새로운 그래프를 담을 도화지(figure) 생성
    2. plt.plot() : 데이터 시각화 기능 담당, 그래프 유형(plot, hist, pie 등)과 변수를 주어 설정 가능
    3. plt.show() : 그래프 출력
  • Matplotlib 그래프 구성 요소
    • pyplot을 이용하면 figure, axes, axis를 쉽게 조작 가능

여러 개의 그래프 그리기

  • 여러 개의 그래프를 하나의 figure(도화지)에 담는다면 한번에 더 많은 정보를 효과적으로 전달할 수 있음
  • Matplotlib의 pyplot 모듈에서는 subplot과 subplots 커맨드를 활용하여 여러 그래프 구현 가능
  • pyplot의 subplot
    • pyplot 모듈을 이용하면 여러 개의 axes를 하나의 figure에 그릴 수 있음
  • pyplot의 subplots
    • subplots를 사용할 때 axes 객체의 twinx 메소드를 이용하면 x축을 공유하는 두 개의 그래프를 동시에 그릴 수 있음
      • 하나의 ax에 두 종류의 그래프
      • 같은 x축을 공유, 다른 y축을 사용

Seaborn

  • Matplotlib을 기반으로 하며 다채로운 디자인 테마와 통계용 차트 등이 추가된 강력한 시각화 라이브러리
  • 한 줄의 코드로 강력한 시각화 가능
import seaborn as sns

Seaborn 예시

  • 특징
    1. 간결한 한 줄 코드로 쉽고 간단하게 복잡한 기능 구현
    2. 통계 시각화에 특화
      • 고수준 API
        •  간단한 명령어로 범주별 산점도 구현
        • statsmodels의 통계 기능 활용으로 추세선 출력
        • 이외에도 jointplot을 포함한 여러 플롯 메소드에서 statsmodels를 이용한 데이터 분포 시각화를 함
    3. 데이터에 적합한 다채로운 시각화 기능을 제공
      • 다채로운 테마로 빠른 정보 전달
  • Seaborn 그래프 그리기
    • 다양한 그래프 종류와 인수로 효과적인 시각화 가능