본문 바로가기
Tutorial/Big Data & ML

데이터 시각화 (Data Visualization) 도구, 기법 및 heapmap 수치표시 안되는 문제 해결

by CLJ 2024. 7. 7.

데이터 시각화는 데이터 분석의 핵심 요소로, 복잡한 데이터를 이해하기 쉽게 시각적으로 표현하는 방법입니다. 이 글에서는 데이터 시각화 도구, 데이터를 시각화하는 기본적인 기법, 히트맵 문제 해결과 데이터 시각화 활용사례를 살펴보겠습니다.
 

목차

 
 

1. 데이터 시각화 도구

 
데이터 시각화 도구는 복잡한 데이터를 직관적으로 이해할 수 있도록 도와줍니다. 특히 Tableau와 Power BI는 데이터 시각화 분야에서 두각을 나타내고 있는 도구들입니다. 이 두 도구는 강력한 기능과 사용 편의성으로 데이터 분석가와 비즈니스 사용자들 사이에서 인기를 끌고 있습니다.
 
Tableau는 데이터 시각화와 분석에 특화된 도구로, 다양한 데이터 소스를 통합하여 직관적인 대시보드와 리포트를 생성할 수 있습니다. 주요 특징 중 하나는 드래그 앤 드롭 인터페이스로, 사용자가 복잡한 코딩 없이도 쉽게 시각화를 만들 수 있다는 점입니다. 또한, 강력한 데이터 연결 기능을 제공하여, 다양한 데이터베이스와의 통합이 용이합니다.

Tableau로 매출 데이터 시각화하는 단계 예시

  1. 데이터 연결: Tableau를 열고, 데이터 소스를 선택합니다. 예를 들어, Excel 파일에서 매출 데이터를 불러옵니다.
  2. 데이터 준비: 데이터를 불러온 후, 필요한 차원(Dimensions)과 측정값(Measures)을 선택합니다. 예를 들어, '월별 매출' 데이터를 선택합니다.
  3. 차트 생성: 차원과 측정값을 드래그 앤 드롭하여 시각화를 만듭니다. '월'을 행(Row)으로, '매출'을 열(Column)로 드래그하여 선 그래프를 생성할 수 있습니다.
  4. 필터와 정렬: 데이터를 필터링하고 정렬하여 원하는 정보를 쉽게 찾을 수 있습니다. 예를 들어, 특정 기간 동안의 매출 데이터를 필터링할 수 있습니다.
  5. 대시보드 생성: 여러 시각화를 하나의 대시보드로 통합하여 전체적인 인사이트를 제공할 수 있습니다. 다양한 차트와 그래프를 하나의 화면에 배치하여 종합적인 분석이 가능합니다.

 
Power BI는 Microsoft에서 제공하는 비즈니스 인텔리전스 도구로, 데이터 분석과 시각화를 위한 강력한 기능을 제공합니다. 특히 Microsoft 제품군과의 통합이 뛰어나며, Excel, Azure, SQL Server 등 다양한 데이터 소스와 쉽게 연결할 수 있습니다. 또한, 클라우드 기반 서비스로, 실시간 데이터 업데이트와 협업 기능을 제공합니다.

Power BI로 매출 데이터 시각화하는 단계 예시

  1. 데이터 가져오기: Power BI Desktop을 열고, 데이터 소스를 선택합니다. Excel 파일에서 매출 데이터를 가져옵니다.
  2. 데이터 모델링: 데이터를 불러온 후, 필터링, 정렬, 집계 등의 데이터 모델링 작업을 수행합니다. 예를 들어, 매출 데이터를 월별로 집계할 수 있습니다.
  3. 시각화 생성: 다양한 시각화 옵션 중에서 원하는 차트나 그래프를 선택합니다. '월별 매출' 데이터를 막대 차트로 시각화할 수 있습니다.
  4. 커스터마이징: 차트의 색상, 레이블, 축 등을 커스터마이징하여 더욱 직관적인 시각화를 만들 수 있습니다. 예를 들어, 각 월의 매출을 다른 색상으로 구분할 수 있습니다.
  5. 대시보드 공유: 생성된 시각화를 대시보드로 구성하고, 이를 클라우드에 업로드하여 팀원들과 공유할 수 있습니다. 실시간으로 업데이트되는 대시보드를 통해 협업이 용이해집니다.

두 도구 모두 데이터 시각화에 강력한 기능을 제공하지만, 사용 목적과 상황에 따라 적합한 도구가 다를 수 있습니다. Tableau는 데이터 시각화에 특화되어 있어 복잡한 데이터를 시각적으로 표현하는 데 강점이 있습니다. 반면, Power BI는 Microsoft 제품군과의 통합 및 비즈니스 인텔리전스 기능에 강점이 있습니다. 사용자는 자신의 데이터 분석 요구 사항과 환경에 맞춰 적합한 도구를 선택할 수 있습니다.
 
2024.06.29 - [Data Analysis] - 데이터 분석 도구 비교: Tableau, Power BI, Google Data Studio

 

데이터 분석 도구 비교: Tableau, Power BI, Google Data Studio

데이터 분석은 현대 비즈니스 환경에서 필수적입니다. 데이터 시각화 도구는 방대한 데이터를 이해하고, 인사이트를 도출하며, 의사 결정을 지원하는 데 중요한 역할을 합니다. 대표적인 데이

it-learner.tistory.com

 
 

2. 기본적인 시각화 기법

 

데이터 시각화의 핵심은 데이터를 시각적으로 표현하여 이해하기 쉽게 만드는 것입니다. 다양한 시각화 기법 중 몇 가지 기본적인 기법을 살펴보겠습니다. 차트, 그래프, 맵 등은 데이터를 시각적으로 표현하는 가장 일반적이고 효과적인 방법입니다. 이러한 기법들은 각기 다른 유형의 데이터를 시각화하는 데 사용됩니다.
 

차트 (Charts)

 

차트는 데이터를 시각적으로 표현하는 가장 기본적인 방법 중 하나입니다. 차트의 종류에는 막대 차트(Bar Chart), 파이 차트(Pie Chart), 히스토그램(Histogram) 등이 있습니다. 막대 차트는 카테고리 별로 데이터를 비교할 때 유용하며, 파이 차트는 부분과 전체의 비율을 나타낼 때 주로 사용됩니다. 히스토그램은 데이터의 분포를 시각화하는 데 적합합니다.

 

Python을 사용한 막대 차트 

import matplotlib.pyplot as plt

# 예시 데이터
categories = ['A', 'B', 'C', 'D']
values = [10, 20, 15, 25]

plt.bar(categories, values)
plt.xlabel('카테고리')
plt.ylabel('값')
plt.title('막대 차트 예시')
plt.show()

 

위 코드는 간단한 막대 차트를 생성하여 카테고리 별로 값을 비교할 수 있게 합니다. import matplotlib.pyplot as plt는 Matplotlib 라이브러리를 불러오는 코드입니다. plt.bar(categories, values)는 'categories' 리스트에 있는 각 카테고리에 대해 'values' 리스트에 있는 값을 표시하는 막대 차트를 그립니다. plt.xlabel('카테고리')plt.ylabel('값')는 각각 x축과 y축에 레이블을 추가합니다. 마지막으로, plt.title('막대 차트 예시')는 그래프 상단에 제목을 추가하고, plt.show()는 그래프를 화면에 표시합니다.

 

 

그래프 (Graphs)

 
그래프는 시간에 따른 데이터 변화를 시각화하거나 두 변수 간의 관계를 나타내는 데 사용됩니다. 선 그래프(Line Graph)는 시간에 따른 데이터 변화를 시각화하는 데 효과적입니다. 예를 들어, 월별 매출 변화를 시각화할 때 유용합니다. 산점도(Scatter Plot)는 두 변수 간의 관계를 시각화하는 데 사용됩니다. 예를 들어, 광고 비용과 매출 간의 상관관계를 분석할 때 산점도가 적합합니다.
 
선 그래프 예시

import matplotlib.pyplot as plt

# 예시 데이터
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May']
sales = [200, 240, 300, 280, 350]

plt.plot(months, sales, marker='o')
plt.xlabel('월')
plt.ylabel('매출')
plt.title('월별 매출 선 그래프')
plt.show()

 

위 코드는 시간에 따른 매출 변화를 시각화하여 월별 트렌드를 쉽게 파악할 수 있게 합니다. plt.plot(months, sales, marker='o')는 'months' 리스트에 있는 각 월에 대해 'sales' 리스트에 있는 매출 데이터를 연결하는 선 그래프를 그립니다. marker='o'는 각 데이터 포인트에 원형 마커를 추가합니다. 나머지 코드는 막대 차트 예시와 유사하게 축 레이블과 제목을 추가합니다.

월별 매출 선 그래프

 
산점도 예시

import matplotlib.pyplot as plt

# 예시 데이터
advertising_spend = [1000, 1200, 1500, 1700, 2000, 2500, 2800, 3000]
sales = [20, 22, 25, 30, 33, 35, 38, 40]

plt.scatter(advertising_spend, sales)
plt.xlabel('광고비')
plt.ylabel('매출')
plt.title('광고비와 매출 간의 관계')
plt.show()

 

위 코드는 광고비와 매출 간의 관계를 시각화하여 두 변수 간의 상관관계를 쉽게 파악할 수 있게 합니다. plt.scatter(advertising_spend, sales)는 'advertising_spend' 리스트에 있는 각 광고비에 대해 'sales' 리스트에 있는 매출 데이터를 산점도로 그립니다. 나머지 코드는 동일하게 축 레이블과 제목을 추가합니다.

산점도 광고비와 매출 간의 관계 시각화

맵 (Maps)

 
맵은 위치 기반 데이터를 시각화하는 데 사용됩니다. 지리적 맵(Geographical Map)은 특정 지역에서의 데이터 분포를 직관적으로 보여주며, 히트맵(Heat Map)은 데이터의 밀도와 분포를 쉽게 파악할 수 있게 합니다. 이러한 맵은 주로 지리적 데이터를 분석하거나 공간적 패턴을 이해하는 데 사용됩니다.

 

 

히트맵

 

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

# 예시 데이터 생성
data = np.random.rand(10, 12)

sns.heatmap(data, annot=True, fmt=".1f", cmap='coolwarm')
plt.title('히트맵 예시')
plt.show()

 

위 코드는 히트맵을 생성하여 데이터의 밀도와 분포를 시각적으로 나타내줍니다. import seaborn as snsimport numpy as np는 각각 Seaborn과 NumPy 라이브러리를 불러오는 코드입니다. data = np.random.rand(10, 12)는 10x12 크기의 랜덤 데이터를 생성합니다. sns.heatmap(data, annot=True, fmt=".1f", cmap='coolwarm')는 히트맵을 생성하며, annot=True는 각 셀에 값을 표시하고, fmt=".1f"는 소수점 첫째 자리까지 값을 표시합니다. cmap='coolwarm'는 히트맵의 색상 맵을 설정합니다. 마지막으로, plt.title('히트맵 예시')plt.show()는 제목을 추가하고 히트맵을 화면에 표시합니다.

 

히트맵 예시

 

인터랙티브 시각화

 

데이터 시각화 도구는 단순히 데이터를 시각적으로 표현하는 것을 넘어, 사용자와의 인터랙티브한 상호작용을 가능하게 합니다. 예를 들어, Tableau와 Power BI는 사용자가 데이터를 탐색하고 다양한 뷰를 생성할 수 있게 도와줍니다. 사용자는 차트를 클릭하여 상세 정보를 확인하거나, 데이터를 드릴다운하여 더 깊은 인사이트를 얻을 수 있습니다. 이러한 인터랙티브 시각화는 데이터 분석의 효율성을 높이고, 사용자 경험을 향상시킵니다.

인터랙티브 그래프

 

import plotly.express as px

# 예시 데이터
df = px.data.gapminder().query("year == 2007")

fig = px.scatter(df, x="gdpPercap", y="lifeExp",
                 size="pop", color="continent",
                 hover_name="country", log_x=True, size_max=60)

fig.show()

 

위 코드는 Plotly를 사용하여 인터랙티브 산점도를 생성합니다. import plotly.express as px는 Plotly Express 라이브러리를 불러오는 코드입니다. df = px.data.gapminder().query("year == 2007")는 2007년의 Gapminder 데이터를 불러옵니다. fig = px.scatter(df, x="gdpPercap", y="lifeExp", size="pop", color="continent", hover_name="country", log_x=True, size_max=60)는 GDP 대비 기대 수명을 산점도로 시각화하며, 점의 크기는 인구를 나타내고, 색상은 대륙을 나타냅니다. hover_name="country"는 마우스를 점 위에 올릴 때 국가 이름을 표시하고, log_x=True는 x축을 로그 스케일로 설정합니다. fig.show()는 그래프를 화면에 표시합니다.

인터랙티브 산점도 그래프

.

3. 히트맵 수치 표시 안되는 문제 해결

 
히트맵 코드에 annot=True로 셀에 수치가 나오도록 지정해도 수치가 첫 행만 나오고 나머지 셀에는 수치가 표시되지 않는 문제가 발생할 수 있습니다. 이 문제는 버전을 변경하면 해결됩니다. 다음과 같이 입력하여 seaborn 버전을 확인합니다. 터미널에서는 '!'를 빼고 pip show seaborn으로 입력합니다. 

!pip show seaborn

 
0.12.2 버전은 이러한 히트맵 셀에 내용이 표시되지 않는 불안정한 이슈가 있다고 하기 때문에  버전을 업그레이드해줍니다.

!pip install seaborn --upgrade

 
실행 결과에서 0.13.2 버전으로 업그레이드된 것을 확인합니다. 사용하는 툴을 다시 시작하여 히트맵 그래프를 그리는 코드를 실행하면 위에서 본 히트맵 예시 그래프와 같이 모든 셀에 수치가 표시됩니다. 
 

4. 데이터 시각화의 활용 사례

 

데이터 시각화는 데이터 분석에서 중요한 역할을 합니다. 복잡한 데이터를 시각적으로 표현함으로써 사용자들은 더 쉽게 정보를 이해할 수 있습니다. 예를 들어, 텍스트로만 제공된 숫자 데이터는 이해하기 어렵지만, 시각적으로 표현하면 한눈에 파악할 수 있습니다. 시각화된 데이터는 패턴, 트렌드, 이상치를 빠르게 식별할 수 있어, 데이터 기반 의사결정을 지원합니다. 또한, 시각화는 명확한 인사이트를 제공하여 더 나은 전략적 결정을 내리는 데 도움을 줍니다. 이는 비즈니스, 의료, 교육 등 다양한 분야에서 매우 중요한 역할을 합니다.

 

데이터 시각화의 활용 사례

 

비즈니스 인텔리전스

 

데이터 시각화는 기업의 성과를 모니터링하고 전략적 결정을 내리는 데 필수적입니다. 예를 들어, 매출 데이터를 시각화하여 트렌드를 분석하고, 마케팅 캠페인의 효과를 평가할 수 있습니다. 한 글로벌 기업은 매출 데이터를 지역별로 시각화하여 특정 지역에서의 성과를 분석하고, 이를 바탕으로 마케팅 전략을 조정하였습니다. 이러한 시각화된 데이터는 경영진이 빠르고 정확하게 의사결정을 내리는 데 큰 도움을 줍니다. 또한, 실시간 대시보드를 통해 중요한 성과 지표를 모니터링하고, 신속하게 대응할 수 있습니다.

 

건강 관리

 

의료 데이터 시각화를 통해 환자의 건강 상태를 모니터링하고 예측할 수 있습니다. 예를 들어, 환자의 혈압, 심박수 등의 데이터를 시각화하여 이상 징후를 조기에 발견할 수 있습니다. 한 병원은 전자의료기록(EMR) 데이터를 시각화하여 환자의 건강 상태 변화를 실시간으로 모니터링하고, 이에 따라 치료 계획을 조정하였습니다. 시각화된 의료 데이터는 의료진이 보다 효과적으로 환자의 상태를 관리할 수 있도록 돕습니다. 또한, 질병 발생 패턴을 분석하여 예방 조치를 취하는 데도 활용됩니다.

 

교육

 

교육 데이터를 시각화하여 학생들의 학습 성과를 분석하고 교육 방법을 개선할 수 있습니다. 예를 들어, 학생들의 시험 성적을 시각화하여 어떤 과목에서 학습이 필요한지 파악할 수 있습니다. 한 교육 기관은 학생들의 학습 데이터를 시각화하여 성적이 저조한 학생들을 조기에 발견하고, 맞춤형 교육 프로그램을 제공하였습니다. 시각화된 교육 데이터는 교사들이 학생 개개인의 학습 성향을 이해하고, 보다 효과적인 교육을 제공하는 데 큰 도움을 줍니다. 또한, 교육 정책 결정자들이 전체 학습 트렌드를 파악하고, 교육 시스템을 개선하는 데 활용됩니다.

 

금융

 

금융 분야에서도 데이터 시각화는 중요한 역할을 합니다. 투자 포트폴리오의 성과를 시각화하여 투자 결정을 지원할 수 있습니다. 예를 들어, 주식 가격의 변동을 시각화하여 투자자들이 시장 트렌드를 쉽게 이해할 수 있도록 돕습니다. 한 금융 기관은 고객의 투자 데이터를 시각화하여 투자 성과를 분석하고, 고객 맞춤형 투자 전략을 제안하였습니다. 시각화된 금융 데이터는 투자자들이 리스크를 관리하고, 더 나은 투자 결정을 내리는 데 큰 도움을 줍니다.

 

마케팅

 

마케팅 분야에서도 데이터 시각화는 매우 유용합니다. 마케팅 캠페인의 성과를 시각화하여 어떤 전략이 효과적인지 분석할 수 있습니다. 예를 들어, 소셜 미디어 데이터를 시각화하여 사용자 반응을 분석하고, 이를 바탕으로 마케팅 전략을 조정할 수 있습니다. 한 마케팅 팀은 소셜 미디어 캠페인의 데이터를 시각화하여 사용자 참여도를 분석하고, 효과적인 콘텐츠 전략을 개발하였습니다. 시각화된 마케팅 데이터는 마케터들이 더 나은 결정을 내리고, 캠페인의 성과를 최적화하는 데 큰 도움을 줍니다.
 
 
데이터 시각화는 데이터를 쉽게 이해할 수 있도록 도와줍니다. 복잡한 데이터를 시각화함으로써 사용자들은 더 명확하게 정보를 파악할 수 있습니다. 시각화된 데이터는 패턴, 트렌드, 이상치를 빠르게 식별할 수 있게 합니다. 비즈니스 인텔리전스, 건강 관리, 교육, 금융, 마케팅 등 다양한 분야에서 데이터 시각화는 매우 중요한 역할을 합니다. 이러한 시각화 기법을 활용하면 데이터 기반 의사결정을 효과적으로 지원할 수 있습니다.

 

2024.07.08 - [Big Data & ML] - 로지스틱 회귀: 정의, 선형 회귀와 차이점, 이론적 배경, 모델 구현 예제

 

로지스틱 회귀: 정의, 선형 회귀와 차이점, 이론적 배경, 모델 구현 예제

이 글에서는 로지스틱 회귀가 무엇인지와 선형회귀와 차이점, 그리고 이론적인 배경과 모델 구현 예제를 통해 자세히 단계별로 알아보겠습니다.  로지스틱 회귀란?  로지스틱 회귀는 이진 분

it-learner.tistory.com

 
2024.07.05 - [정보기술] - 빅데이터: 정의, 분석 과정, 활용 사례, 최신 트렌드

 

빅데이터: 정의, 분석 과정, 활용 사례, 최신 트렌드

빅데이터는 오늘날 거의 모든 산업에서 중요한 자산이 되었습니다. 방대한 양의 데이터를 분석하여 유의미한 정보를 추출하고, 이를 통해 비즈니스 인사이트를 얻는 과정은 경쟁력을 높이는 데

it-learner.tistory.com