데이터 시각화는 복잡한 내부 연산 과정을 일일이 들여다보거나 어려운 계산을 수행하지 않고도 데이터 안에서 무슨 일이 일어나고 있는지 직관적으로 파악할 수 있게 해주는 중요한 단계입니다.
Pygal은 오픈소스 Python 패키지로, 인터랙티브한 차트와 그래프의 SVG(Scalar Vector Graphics) 이미지를 손쉽게 생성할 수 있도록 도와줍니다. SVG는 주어진 데이터를 기반으로 동적으로 애니메이션 그래프를 생성하는 방식을 의미하며, 이렇게 만들어진 SVG 그래프 이미지는 용도에 맞게 자유롭게 활용하고 커스터마이징할 수 있습니다.
SVG 이미지는 확장성이 뛰어나기 때문에 고품질 형식으로 다운로드할 수 있으며, 다운로드한 이미지는 다양한 프로젝트나 웹사이트 등에 손쉽게 삽입할 수 있습니다. 또한 Pygal을 사용하면 이러한 인터랙티브하고 커스터마이징된 그래프를 매우 간편하게 만들 수 있습니다. 막대그래프, 히스토그램, 선 그래프 등 다양한 차트를 지원합니다.
트리맵(Treemap)이란?
트리맵은 계층 구조처럼 중첩된(nested) 성격의 데이터를 표현하는 데 사용되는 시각화 기법입니다. 데이터는 사각형 형태로 나타내며, 사각형의 크기가 곧 데이터셋에 포함된 값을 의미합니다. 즉, 트리맵에서 사각형의 크기가 클수록 해당 데이터 포인트의 값이 크다는 것을 나타냅니다.
Pygal 설치
Pygal 패키지는 Windows 환경에서 아래 명령어를 통해 설치할 수 있습니다.
pip install Pygal
그럼 Pygal을 사용해 트리맵을 생성하는 방법을 살펴보겠습니다.
예제 코드
import pygal
from pygal.style import Style
custom_style = Style(colors=('#E80080', '#404040', '#9BC850', '#E81190'))
treemap = pygal.Treemap(height=400,width = 300,style=custom_style)
treemap.title = "Treemap "
treemap.add("label 1", [0.4,0.5,0.6, 0.7])
treemap.add("label 2", [1.2,1.3,1.4])
treemap.add("label 3", [1.5,1.6,1.9])
treemap.add("label 3", [1.8,1.9,2.0,2.1,2.2])
treemap.render_in_browser()실행 결과

코드 설명
필요한 패키지(pygal과 스타일 모듈)를 환경으로 가져옵니다.
pygal.Treemap 함수를 여러 파라미터와 함께 호출합니다.
생성된 트리맵 객체를 변수에 할당하여 이후 다양한 속성을 추가할 수 있도록 합니다.
Style 클래스를 사용해 트리맵에 적용할 색상 팔레트를 정의합니다.
그래프의 높이(height)와 너비(width)를 지정합니다.
트리맵의 제목과 각 레이블별 데이터 값을 설정합니다.
'render_in_browser' 함수를 호출하여 생성된 트리맵을 브라우저에서 바로 확인할 수 있습니다.