5.1.1 데이터 시각화 기초

5.1.1 데이터 시각화 개요

① 왜 시각화를 먼저 배울까요? (Why Visualization First?)

데이터 시각화(Data Visualization): 데이터의 숨겨진 패턴과 이야기를 찾아내는 탐정의 돋보기입니다.

숫자는 앤스콤의 4분할(Anscombe’s Quartet) 예시처럼 평균과 분산이 같아도 실제 분포는 완전히 다를 수 있습니다. 숫자는 거짓말을 할 수 있지만 그리면 진실이 드러납니다. 우리는 파이썬의 핵심 문법을 익힌 뒤, 눈에 보이는 결과물을 만들어내며 데이터 분석의 흥미를 느끼고자 시각화를 먼저 다룹니다.

② 다양한 플롯 유형 (Plot Types)

플롯 유형 (Plot Type) 설명 (Description) 용도 (Usage)
선 플롯 (Line Plot) 데이터 포인트들을 선으로 연결한 그래프 📈 시계열 데이터, 추세 변화 확인
산점도 (Scatter Plot) 두 변수 간의 관계를 점으로 표현 🌌 상관관계 파악 (예: 키와 몸무게)
막대그래프 (Bar Chart) 범주별 데이터의 크기를 막대로 표현 📊 데이터 비교 (예: 반별 성적)
히스토그램 (Histogram) 데이터의 분포(Distribution)를 표현 ⛰️ 데이터가 몰려있는 구간 확인
파이 차트 (Pie Chart) 전체 데이터 중 각 부분의 비율(Proportion) 표현 🥧 점유율 확인 (예: 선거 득표율)

③ 데이터 시각화 패키지 matplotlib 개요

Matplotlib은 파이썬에서 2D 그래픽 그림을 생성하는 데 사용되는 데이터 시각화 라이브러리이다. 주로 과학 및 엔지니어링 분야에서 데이터를 시각적으로 탐색하고 표현하는 데 널리 사용되며, 다양한 차트, 플롯, 히스토그램 등을 생성할 수 있다.

Matplotlib

  • 다양한 플롯 유형: 선 플롯, 산점도, 막대 그래프, 히스토그램, 파이 차트, 3D 플롯 등 다양한 플롯 유형을 지원
  • 높은 커스터마이징 가능성: 그래프의 모든 요소에 대한 세부적인 제어가 가능하며, 플롯의 스타일, 색상, 레이블 등을 사용자가 자유롭게 커스터마이징이 가능
  • Jupyter 노트북 통합: 주피터 노트북과 통합되어 대화형 환경에서 사용이 편리
  • 다양한 출력 포맷 지원: PNG, PDF, SVG, EPS 등 다양한 이미지 파일 형식으로 저장
  • 내장된 텍스트 및 주석 지원: 플롯에 텍스트와 주석을 추가하여 그림에 설명을 달 수 있음
  • 세련된 색상 및 컬러맵: 다양한 컬러맵과 색상을 활용하여 시각적인 표현을 높일 수 있음

② 설치 확인과 한글 처리 준비

다음 코드로 numpymatplotlib의 버전을 확인해 패키지 설치를 확인하자. 아나콘다는 기본으로 numpymatplotlib가 설치되어 있다. 설치가 안 되었다면 설치가 필요하거나 이미 설치된 인터프리터로 변경한다.

import numpy as np
import matplotlib as mpl

print(np.__version__)
print(mpl.__version__)

출력:

1.24.3
3.7.1

다음은 노트북에서 그림을 선명하게 하는 명령이다.

%config InlineBackend.figure_format = 'retina'

다음은 한글을 처리하기 위한 코드이다. rc는 실행 시간 환경 설정(runtime configuration)을 의미한다. 인터프리터에서 실행 시간에 한 번만 실행되면 이후에 영향을 미친다.

import matplotlib.pyplot as plt

plt.rc('font', family='Malgun Gothic')
plt.rc('axes', unicode_minus=False)

위 문장은 다음 plt.rcParams[] 설정 문장으로도 가능하다.

plt.rcParams['font.family'] = 'Malgun Gothic'
plt.rcParams['axes.unicode_minus'] = False
서브목차