데이터 시각화의 다양한 종류
지난 포스팅에서는 데이터 시각화의 기본적인 개념과 위치 스케일, 색상 스케일에 대해 알아보고, 수량 데이터 시각화에 대해 알아보았다. 이번 포스팅에서는 더욱 다양한 데이터 유형에 따른 시각화 방법들을 자세히 살펴보겠다.
1. 분포 (Distribution) 시각화
데이터의 분포는 데이터가 어떤 값을 중심으로 얼마나 퍼져 있는지를 보여준다. 분포를 시각화하는 대표적인 방법으로는 히스토그램(Histogram)과 밀도 도표(Density Plot)가 있다.
1.1. Histogram & Density plot
- 히스토그램(Histogram): 데이터를 일정한 간격의 구간(bin)으로 나누고, 각 구간에 속하는 데이터의 개수를 막대로 표현한다.
- 밀도 도표(Density Plot): 데이터의 분포를 부드러운 곡선으로 나타낸다. 히스토그램보다 데이터의 분포를 더욱 명확하게 보여주지만, 데이터의 개수가 적을 경우에는 왜곡될 수 있다.(불가능한 값이 생길 수 있음)
![]() |
히스토그램과 밀도 도표 |
주의 사항: 히스토그램을 만들 때는 적절한 구간 폭을 선택하는 것이 중요하다. 구간 폭이 너무 좁으면 세부 정보를 잃을 수 있고, 너무 넓으면 중요한 패턴을 놓칠 수 있다.
ECDF (Empirical Cumulative Distribution Function)는 각 데이터 포인트에서 누적 확률을 계단 형태로 나타내는 그래프다. 이는 데이터의 분포를 정확하게 파악하는 데 유용하며, 특히 두 개 이상의 분포를 비교할 때 효과적이다.
![]() |
ECDF |
Highly Skewed Distribution은 한쪽으로 치우친 분포를 의미한다. 이러한 분포는 로그 변환(log-transform)을 통해 정규 분포에 가깝게 만들어 시각화할 수 있다.
![]() |
Highly skewed distribution |
QQ Plot (Quantile-Quantile Plot)은 두 개의 분포가 얼마나 유사한지 비교하는 데 사용된다. 예를 들어, QQ Plot을 통해 데이터가 정규 분포를 따르는지 확인할 수 있다.
![]() |
QQ plot |
1.2. Box Plot (상자 그림)
Box Plot(상자 그림)은 데이터의 분포를 간결하게 보여주는 방법이다. 상자는 데이터의 중앙값(median), 1사분위수(25th percentile), 3사분위수(75th percentile)를 나타내며, 상자 밖으로 뻗어나가는 선(whisker)은 데이터의 최솟값과 최댓값 또는 특정 범위를 나타낸다.
막대 그래프는 개별 데이터를 구분하기 어렵다는 단점이 있는데, Box Plot은 이러한 단점을 보완하여 데이터의 분포를 직관적으로 보여준다. Box Plot의 변형 형태로는 Violin Plot, Strip Chart, Sina Plot, Ridgeline Plot 등이 있다.
* strip chart + violin plot = sina plot
* Ridgeline plot : 분포에서 트렌드를 보고 싶을 때 사용
2. 비율 (Proportion) 시각화
전체 데이터에서 각 부분이 차지하는 비율을 시각화하는 방법에는 여러 가지가 있다.
- Pie Chart (파이 차트): 원형 차트로, 각 부분의 비율을 부채꼴의 크기로 나타낸다.
- Stacked Bar Chart (누적 막대 도표): 막대를 세로로 쌓아 각 부분의 비율을 나타낸다.
- Side-by-Side Bar Chart (병렬 막대 도표): 막대를 나란히 배치하여 각 부분의 비율을 비교한다.
- Treemap (트리맵): 사각형을 계층적으로 분할하여 각 부분의 비율을 나타낸다.
![]() |
장/단점 비교 |
3. 관계 (Relationship) 시각화
두 변수 간의 관계를 시각화하는 가장 일반적인 방법은 Scatterplot (산점도)다.
Scatterplot은 x축과 y축에 각 변수의 값을 나타내고, 데이터 포인트를 점으로 표시한다.
- Bubble Chart (버블 차트): 점의 크기를 이용하여 세 번째 변수를 추가로 나타낼 수 있다.
- Paired Scatterplot (쌍 데이터 산점도): 짝을 이루는 데이터 포인트들을 선으로 연결하여 변화를 보여준다.
- Slopegraph (기울기 그래프): 두 시점 간의 값 변화를 선분의 기울기로 나타내어 비교한다.
![]() |
paired scatterplot / slopegraph |
4. 추세 (Trend) 시각화
시간의 흐름에 따른 데이터의 변화를 나타내는 시계열 데이터(Time Series Data)는 주로 선 그래프(Line Chart)로 시각화한다. 선 그래프는 시간 순서대로 데이터 포인트를 연결하여 추세를 보여준다.
4.1. 추세선 (Trend Line)
추세선은 시계열 데이터의 전체적인 경향을 나타내는 선이다. 선형 회귀(Linear Regression) 모델을 사용하여 데이터에 가장 잘 맞는 추세선을 찾을 수 있다.
추세선은 데이터의 미래 값을 예측하는 데에도 활용될 수 있다.
4.2. 연결 산점도 (Connected Scatterplot)
두 개 이상의 반응 변수를 포함하는 시계열 데이터의 경우, 각 변수를 별도의 선 그래프로 나타내거나, 연결 산점도(Connected Scatterplot)를 사용하여 두 변수의 관계를 시각화할 수 있다. 연결 산점도는 각 시점에서 두 변수의 값을 점으로 표시하고, 시간 순서대로 점들을 선으로 연결한 것이다. 이때 데이터의 방향과 시간 범위를 모두 표시해야 한다.
![]() |
연결 산점도 (집값과 실업률 사이 음의 관계) |
마무리
이번 포스팅에서는 다양한 데이터 유형에 따른 시각화 방법들을 살펴보았다. 데이터 시각화는 데이터 분석의 중요한 단계이며, 적절한 시각화 방법을 선택하여 데이터의 특징을 효과적으로 전달하는 것이 필요하다. 다음 포스팅에서는 통계적 기법에 대해 알아보겠다.
추천글 :
[데이터사이언스기초] Data Visualization
(https://hyeonb.blogspot.com/2024/06/data-visualization.html)