기본 콘텐츠로 건너뛰기

방송대 방통대 오픈소스기반데이터분석 11강 - 데이터 시각화 2 - 요약 노트 시험족보 예상문제 - 올에이클래스

오픈소스기반데이터분석 11강 - 데이터 시각화 (2)

오픈소스기반데이터분석 11강 - 데이터 시각화 (2)

계층·공간·관계·분포·3차원 데이터를 표현하는 고급 시각화 기법을 학습한다. 이어 색상과 컬러맵, 축·레이블·제목, 마커·선·글꼴, 서브플롯과 인터랙티브 시각화를 이용해 그래프의 전달력을 높이는 방법을 정리한다.

1. 고급 시각화 기법의 이해

고급 시각화가 필요한 이유

막대 그래프나 선 그래프 같은 기본 시각화만으로는 데이터의 모든 구조를 충분히 표현하기 어렵다. 데이터가 계층을 이루거나, 공간적 위치를 포함하거나, 개체 사이의 관계를 나타내거나, 복잡한 분포와 3차원 관계를 가진다면 그 특성에 맞는 시각화 기법을 선택해야 한다.

11강에서는 트리맵, 지도 시각화, 네트워크 그래프, 바이올린 플롯, 등고선 그래프를 고급 시각화 기법으로 다룬다. 각 기법은 표현하려는 데이터 구조가 다르므로 차트의 모양보다 데이터의 의미와 분석 목적을 먼저 살펴야 한다.

시각화 기법주요 데이터 구조핵심 목적
트리맵계층적·카테고리형 데이터계층과 범주 사이의 관계를 직관적으로 표현
지도 시각화공간적·지리적 데이터지역 차이, 지역 특성, 이동 경로 파악
네트워크 그래프개체와 개체 사이의 연결 관계상호작용과 관계 구조 분석
바이올린 플롯수치 데이터의 분포밀도와 중앙값 등 요약 통계를 종합 표현
등고선 그래프위치에 따라 값이 달라지는 3차원 데이터3차원 표면의 높낮이를 2차원 평면에 표현

차트 선택 기준: 계층은 트리맵, 공간은 지도, 연결 관계는 네트워크 그래프, 분포와 밀도는 바이올린 플롯, 3차원 표면의 높낮이는 등고선 그래프가 적합하다.

2. 계층·공간·관계 데이터의 시각화

트리맵

트리맵(Treemap)은 계층적 데이터를 시각화하는 그래픽 표현 방법이다. 여러 사각형 영역을 이용하여 상위 범주와 하위 범주의 구조를 한 화면에 보여 준다. 카테고리형 데이터의 관계성을 시각적으로 표현하는 데 효과적이며, 계층 안에서 각 범주가 어떤 위치와 비중을 가지는지 직관적으로 이해하는 데 유용하다.

지도 시각화

지도 시각화(Map Visualization)는 공간 데이터를 효과적으로 분석하고 전달하는 기법이다. 데이터를 지도 위에 표현하면 지역 사이의 차이, 특정 지역의 특성, 이동 경로 등을 쉽게 파악할 수 있다. 위치가 핵심 의미를 갖는 데이터는 일반 표보다 지도와 결합했을 때 공간적 패턴이 더 분명하게 드러난다.

네트워크 그래프

네트워크 그래프는 개체 사이의 연결 관계를 시각적으로 표현하는 도구이다. 개체인 노드(node)는 점으로, 노드 사이의 관계인 간선(edge)은 선으로 표현한다. 어떤 개체가 서로 연결되는지, 연결 구조가 어떻게 형성되는지 살펴보며 개체 사이의 상호작용을 분석할 수 있다.

지도 시각화와 네트워크 그래프는 모두 관계를 보여 줄 수 있지만 기준이 다르다. 지도 시각화는 실제 공간과 위치가 중심이고, 네트워크 그래프는 개체 사이의 연결 자체가 중심이다.

3. 분포와 3차원 데이터를 표현하는 기법

바이올린 플롯

바이올린 플롯(Violin Plot)은 데이터의 분포와 밀도, 중앙값 등의 요약 통계를 종합적으로 표현하는 시각화 기법이다. 모양의 폭을 통해 값이 어느 구간에 많이 분포하는지 파악하고, 중심값과 퍼짐 정도를 함께 확인할 수 있다.

분포의 중심만 보여 주는 것이 아니라 전체적인 밀도 형태를 함께 보여 주므로 여러 집단의 분포가 어떤 모양을 가지는지 비교할 때 유용하다.

등고선 그래프

등고선 그래프(Contour Plot)는 3차원 데이터를 2차원 평면에 표현하는 그래프이다. 동일하거나 비슷한 값을 갖는 지점을 선이나 색 영역으로 연결하여 표면의 높낮이 변화, 또는 함수의 값이 위치에 따라 어떻게 변하는지 보여 준다.

3차원 값을 2차원에서 읽을 수 있으므로 값의 크기와 변화 패턴을 공간적으로 파악하는 데 적합하다. 등고선의 간격과 색상 변화는 값이 변하는 양상을 이해하는 단서가 된다.

3D 시각화와의 관계

등고선 그래프가 3차원 값을 2차원 평면에 투영하는 방식이라면, 3D 그래프는 데이터를 3차원 공간에 직접 표현한다. 두 방법 모두 데이터의 입체적 관계를 다루지만 표현 공간과 읽는 방식이 다르다. 분석 목적과 사용자가 이해하기 쉬운 방식에 따라 선택해야 한다.

바이올린 플롯은 분포·밀도·중심·퍼짐을 종합적으로 보여 주고, 등고선 그래프는 3차원 표면의 높낮이와 위치별 값 변화를 2차원에 표현한다.

4. 그래프 색상 설정

색상이 하는 역할

적절한 색상 선택은 그래프의 가독성을 높이고 데이터를 효과적으로 전달한다. 데이터 계열을 구분하거나 특정 값을 강조하고, 값의 크기와 경향을 표현할 수 있다. 색을 지나치게 많이 사용하거나 의미 없이 바꾸면 오히려 해석이 어려워질 수 있으므로 일관된 기준이 필요하다.

Matplotlib의 색상 지정 방법

지정 방식설명
기본 색상 문자b, g, r, c, m, y, k, w파랑, 초록, 빨강, 청록, 자홍, 노랑, 검정, 흰색을 짧게 지정
RGBRed, Green, Blue빨강·초록·파랑 성분으로 색상 표현
RGBAR, G, B, AlphaRGB에 투명도를 나타내는 Alpha 추가
색상 이름skyblue, salmon, forestgreen밝은 계열, 어두운 계열, 중간톤 등 이름으로 지정

색상 문자는 빠르게 기본색을 지정할 때 편리하고, RGB/RGBA는 색과 투명도를 세밀하게 조절할 때 사용한다. 색상 이름은 의미를 알아보기 쉬워 코드의 가독성을 높이는 데 도움이 된다.

RGBA의 Alpha는 색의 투명도를 나타낸다. 여러 데이터가 겹치는 시각화에서는 투명도를 조절하여 겹침을 더 쉽게 확인할 수 있다.

5. 컬러맵의 개념과 활용

컬러맵이란

컬러맵(colormap)은 데이터 값에 따라 색상을 변화시켜 데이터의 크기나 경향을 표현하는 색상 체계이다. 연속적인 값의 변화, 밀도, 강약의 차이를 시각적으로 보여 줄 때 사용한다.

컬러맵에는 연속형, 발산형, 정성적, 주기형, 특수 목적형 등 여러 유형이 있다. 데이터의 성격과 표현 목적에 맞는 유형을 선택해야 한다. 강의에서는 viridis, plasma, Blues 등을 대표적인 컬러맵으로 제시한다.

단일 색상과 컬러맵의 차이

구분단일 색상 설정컬러맵
표현 방식그래프 요소에 특정 색 하나를 지정데이터 값에 따라 연속적 또는 구분된 색을 대응
주요 목적계열 구분, 강조, 디자인 일관성값의 크기, 밀도, 경향과 강약 표현
skyblue, salmon, forestgreenviridis, plasma, Blues

시험 포인트: 색상 이름은 개별 색을 지정하고, 컬러맵은 데이터 값의 변화에 여러 색을 대응시켜 크기·밀도·경향을 표현한다.

6. 축·레이블·제목과 텍스트 설정

축과 설명 요소 설정

축 레이블과 제목은 그래프가 무엇을 나타내는지 명확하게 전달한다. 축 범위는 표시할 데이터 구간을 조정하며, 글자 크기와 색상은 정보의 계층과 강조를 표현한다.

기능함수 또는 파라미터설명
X축 레이블plt.xlabel()X축 아래에 설명 글자 추가
Y축 레이블plt.ylabel()Y축 왼쪽에 설명 글자 추가
X축 범위plt.xlim(시작, 끝)X축의 최솟값과 최댓값 설정
Y축 범위plt.ylim(시작, 끝)Y축의 최솟값과 최댓값 설정
그래프 제목plt.title()그래프 상단에 제목 추가
글자 크기fontsize=숫자제목·레이블·범례 등의 텍스트 크기 조정
글자 색상color='색상명'텍스트 색상 지정

글자 크기와 글꼴

적절한 글자 크기와 글꼴은 정보의 계층 구조를 만들고 시각적 일관성을 유지하는 데 필수적이다. fontsize 파라미터로 제목, 축 레이블, 범례의 크기를 조정할 수 있다.

plt.title("그래프 제목", fontsize=15)

fontfamily 파라미터로 개별 텍스트의 글꼴을 지정할 수 있다. 전체 Matplotlib 글꼴을 설정할 때는 다음과 같이 rcParams를 사용할 수 있다. 특히 한글을 표시할 때는 한글을 지원하는 글꼴 설정이 필요하다.

plt.rcParams['font.family'] = 'NanumGothic'

범례와 주석

범례는 색상, 마커, 선이 어떤 데이터 계열을 의미하는지 알려 주며, 주석은 특정 지점이나 현상의 의미를 추가로 설명한다. 두 요소는 그래프의 의미를 보강하지만 핵심 데이터를 가리지 않도록 배치해야 한다.

7. 마커와 선 스타일

마커 설정

마커(marker)는 그래프 위의 개별 데이터 포인트를 나타내는 기호이다. 데이터 계열마다 서로 다른 마커를 사용하면 색상만으로 구분하기 어려운 상황에서도 계열을 식별하기 쉽다.

마커 기호의미
.작은 점
o동그라미
^위쪽 삼각형
s사각형
D마름모
xX자 모양

선 스타일 설정

선 스타일 기호의미
-실선
--대시 형태의 점선
-.점-대시 선
:점선

마커는 데이터 포인트를, 선 스타일은 포인트를 연결하는 선을 구분한다. 두 설정을 색상과 함께 사용하면 여러 데이터 계열을 더 명확하게 표현할 수 있다.

o는 동그라미 마커, ^는 위쪽 삼각형, s는 사각형이다. 선 스타일에서 -는 실선, --는 대시선, -.는 점-대시 선, :는 점선이다.

8. 서브플롯과 인터랙티브 시각화

서브플롯

서브플롯(subplot)은 하나의 그림인 Figure 안에 여러 그래프인 Axes를 격자 형태로 배치하는 기법이며, 멀티플롯(multiplot)이라고도 한다. 여러 관점의 그래프를 한 화면에 배치하면 데이터의 서로 다른 특성을 함께 비교할 수 있다.

subplot()은 서브플롯을 하나씩 만들어 추가하고, subplots()는 여러 서브플롯을 한 번에 생성한다. 전체 그림 크기, 행과 열의 개수, 축 공유 여부, 서브플롯 사이 간격의 자동 조정 여부를 고려해야 한다.

항목고려 내용
전체 그림 크기여러 그래프의 레이블과 제목이 읽히도록 Figure 크기 설정
행·열 개수비교 목적에 맞게 격자 구조 결정
축 공유같은 척도를 비교할 그래프끼리 축을 공유할지 결정
간격 조정제목과 레이블이 겹치지 않도록 서브플롯 간격 조정

인터랙티브 시각화

인터랙티브 시각화는 사용자가 그래프와 상호작용할 수 있는 동적인 시각화 방식이다. 데이터 포인트에 마우스를 올리거나 클릭하여 추가 정보를 확인하고, 확대·축소하거나 조건에 따라 데이터를 필터링할 수 있다.

Bokeh는 대규모 데이터와 복잡한 시각화에 적합한 파이썬 라이브러리이며 웹 애플리케이션과 쉽게 연동할 수 있다. Plotly는 파이썬 기반의 인터랙티브 시각화 라이브러리로 D3.js를 기반으로 웹 브라우저에서 동작한다.

정적인 그래프는 정해진 화면을 전달하는 데 적합하고, 인터랙티브 시각화는 사용자가 마우스 오버, 클릭, 확대·축소, 필터링으로 데이터를 직접 탐색하게 한다.

9. 종합 대시보드 구현 흐름

Online Retail 데이터셋 활용

강의의 개념 정리 실습은 UCI Machine Learning Repository의 Online Retail 데이터셋을 활용하여 여러 시각화를 통합한 종합 대시보드를 구현하는 흐름을 제시한다.

단계주요 내용사용 도구·방법
1. 데이터 수집 및 전처리데이터셋 다운로드, 데이터 로드, 데이터 전처리Pandas
2. 기본 시각화시간에 따른 판매 추이, 지역별 판매 현황, 요일·시간대별 판매 추이Matplotlib, Seaborn, 선 그래프, 막대 그래프, 히트맵
3. 고급 시각화고객 세그먼트 분석, 구매 패턴 시각화, 3D 시각화Matplotlib, Seaborn, 산점도, 3D 그래프
4. 종합 대시보드여러 그래프를 한 화면에 통합Matplotlib의 서브플롯

대시보드는 여러 시각화를 단순히 모아 놓는 것이 아니라, 서로 관련된 분석 결과를 한 화면에서 비교하고 전체적인 통찰을 얻도록 구성해야 한다. 데이터 수집과 전처리, 기본 분석, 고급 분석, 통합 배치가 순차적으로 연결된다.

대시보드 흐름: Pandas로 데이터 수집·전처리 → Matplotlib과 Seaborn으로 기본 시각화 → 산점도·3D 그래프로 고급 분석 → 서브플롯으로 종합 대시보드 구성.

핵심 개념 정리

11강 핵심 요약

  • 트리맵은 계층적·카테고리형 데이터와 범주 사이의 관계를 직관적으로 표현한다.
  • 지도 시각화는 지역 차이와 특성, 이동 경로 등 공간적 정보를 나타낸다.
  • 네트워크 그래프는 개체를 노드, 관계를 간선으로 표현하여 상호작용을 분석한다.
  • 바이올린 플롯은 데이터 분포와 밀도, 중앙값 등 요약 통계를 함께 보여 준다.
  • 등고선 그래프는 3차원 데이터의 높낮이와 위치별 값 변화를 2차원에 표현한다.
  • 색상은 기본 문자, RGB/RGBA, 색상 이름으로 지정하며 RGBA의 Alpha는 투명도를 나타낸다.
  • 컬러맵은 데이터 값에 따라 색을 변화시켜 크기, 밀도, 경향성을 표현한다.
  • xlabel()·ylabel()은 축 레이블, xlim()·ylim()은 축 범위, title()은 제목을 설정한다.
  • 마커와 선 스타일은 데이터 포인트와 계열을 구분하고, 글자 크기와 글꼴은 정보 계층과 일관성을 만든다.
  • 서브플롯은 하나의 Figure에 여러 Axes를 격자 형태로 배치하는 기법이다.
  • Bokeh와 Plotly는 마우스 오버, 클릭, 확대·축소, 필터링이 가능한 인터랙티브 시각화를 지원한다.
  • 종합 대시보드는 데이터 전처리와 여러 시각화를 통합해 전체적인 통찰을 제공한다.

최종 정리: 고급 시각화는 데이터 구조에 맞는 표현 기법을 선택하는 것에서 시작한다. 여기에 목적에 맞는 색상과 컬러맵, 명확한 축·레이블·제목, 구분하기 쉬운 마커와 선, 일관된 글꼴을 적용하면 전달력이 높아진다. 서브플롯과 인터랙티브 기능은 여러 분석 관점을 통합하고 사용자가 데이터를 직접 탐색하도록 돕는다.

예상문제 20선

1. 계층적 데이터를 사각형 영역으로 표현하는 데 적합한 시각화는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
트리맵은 계층적·카테고리형 데이터를 여러 사각형 영역으로 표현하여 범주와 하위 범주의 관계를 직관적으로 보여 준다.

2. 지역 간 차이, 특정 지역의 특성, 이동 경로를 파악하기에 가장 적합한 기법은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
지도 시각화는 데이터를 실제 공간 위에 표현하여 지역별 차이와 특성, 위치 관계, 이동 경로를 분석하게 한다.

3. 네트워크 그래프에서 개체와 관계를 나타내는 요소의 연결로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
네트워크 그래프는 개체를 점인 노드로, 개체 사이의 연결 관계를 선인 간선으로 표현한다.

4. 데이터의 분포와 밀도, 중앙값, 퍼짐을 함께 표현하는 기법은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
바이올린 플롯은 분포의 밀도 형태와 중앙값 같은 요약 통계를 종합적으로 표현하여 중심과 퍼짐을 함께 파악하게 한다.

5. 3차원 데이터의 표면 높낮이를 2차원 평면에 나타내는 그래프는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
등고선 그래프는 같은 값의 위치를 선이나 색 영역으로 연결하여 3차원 표면의 높낮이 변화를 2차원에 표현한다.

6. RGBA에서 Alpha가 나타내는 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
RGBA는 빨강, 초록, 파랑 성분에 Alpha를 더한 방식이며 Alpha는 색상의 투명도를 조절한다.

7. Matplotlib의 기본 색상 문자와 색의 연결이 옳지 않은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
w는 white이고 yellow는 y이다. k는 black을 나타낸다.

8. 컬러맵의 주요 용도로 가장 적절한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
컬러맵은 값에 색을 대응시켜 연속적 변화, 밀도, 강약과 경향을 시각적으로 전달한다.

9. 다음 중 강의에서 컬러맵의 예로 제시된 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
viridis, plasma, Blues는 데이터 값에 색을 대응시키는 컬러맵의 예이다.

10. X축의 최솟값과 최댓값을 설정하는 함수는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
plt.xlim()은 X축의 표시 범위를 설정한다. xlabel()은 X축 설명 글자를 추가한다.

11. 그래프 상단에 제목을 추가하는 함수는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
plt.title()은 그래프 상단에 제목을 추가하여 그래프의 주제와 내용을 알려 준다.

12. 제목, 축 레이블, 범례의 글자 크기를 조정하는 파라미터는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
fontsize는 텍스트 크기를 조정하고, fontfamily는 글꼴 종류를 지정한다.

13. 마커 기호와 의미의 연결로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
^는 위쪽 삼각형, o는 동그라미, s는 사각형, D는 마름모를 뜻한다.

14. 점-대시 선을 나타내는 Matplotlib 선 스타일 기호는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
-.는 점-대시 선이며, -는 실선, --는 대시선, :는 점선이다.

15. 서브플롯에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
서브플롯은 하나의 전체 그림인 Figure에 여러 그래프 영역인 Axes를 행과 열의 격자로 배치하는 방법이다.

16. subplot()subplots()의 차이로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
subplot()은 서브플롯을 하나씩 만들고, subplots()는 지정한 격자의 여러 서브플롯을 한 번에 생성한다.

17. 인터랙티브 시각화에서 가능한 상호작용으로 보기 어려운 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
인터랙티브 시각화는 마우스 오버, 클릭, 확대·축소, 필터링을 지원하지만 원본 데이터 오류를 자동으로 정제하는 기능을 뜻하지 않는다.

18. 인터랙티브 시각화 라이브러리에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
Plotly는 파이썬 기반의 인터랙티브 라이브러리이며 D3.js를 기반으로 브라우저에서 동작한다. Bokeh는 대규모 데이터와 웹 연동에 적합하다.

19. Online Retail 종합 대시보드 실습의 마지막 단계는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
데이터 수집·전처리, 기본 시각화, 고급 시각화를 거친 뒤 서브플롯으로 여러 결과를 통합한 대시보드를 구현한다.

20. 그래프 스타일링의 목적으로 가장 적절한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
그래프 스타일링은 데이터를 왜곡하지 않으면서 시각 요소를 정돈해 핵심 정보를 명확하고 일관되게 전달하는 데 목적이 있다.

댓글