데브허브 | DEVHUB | [파이썬 프로젝트] Ch 07. 시가총액 분석 | ⑨종목별 시가총액 데이터 트리맵으로 시각화하기[파이썬 프로젝트] Ch 07. 시가총액 분석 | ⑨종목별 시가총액 데이터 트리맵으로 시각화하기
- 트리맵은
plotly.express 모듈의 treemap 함수를 사용하여 시가총액과 같은 데이터의 비중 및 계층 관계를 면적으로 시각화하는 데 효과적입니다. 📊
plotly 패키지는 버전 5.x에서 6.x로 대규모 업데이트되었으며, 6.x 버전에서는 treemap 함수 사용 시 최소 두 개 이상의 데이터프레임 컬럼을 요구합니다. ⚠️
plotly 버전 확인은 plotly.__version__으로, 특정 버전 설치는 pip install -U "plotly<6.0" 명령어를 통해 가능합니다. 🛠️
- 트리맵 생성 시
values 매개변수에는 면적을 결정할 열을, path 매개변수에는 계층 구조를 표현할 열(단일 또는 리스트)을 전달합니다. 🌳
path 매개변수에 여러 컬럼 이름을 리스트로 전달하면, 첫 번째 컬럼 기준으로 분류 후 그 안에서 다음 컬럼 기준으로 재분류하는 방식으로 다단계 계층 구조를 시각화할 수 있습니다. 🪜
- 시가총액 데이터를 트리맵으로 시각화할 때는 '시가총액'을
values로, '종목명' 또는 '업종'과 '종목명'을 path로 사용하여 시장 비중과 종목별 구성을 파악할 수 있습니다. 📈
- 생성된 트리맵(
figure 객체)은 update_layout 함수로 외부 여백(margin)을, update_traces 함수의 marker_pad 옵션으로 내부 여백을 세밀하게 조정하여 시각적 완성도를 높일 수 있습니다. 🖼️
- 완성된 트리맵 이미지는
figure.write_image("파일경로.png") 함수를 사용하여 PNG 등 다양한 형식으로 저장할 수 있으며, 해상도 조절 옵션도 제공됩니다. 💾