Przejdź do treści

#011 Mapa drzewa (treemap plot)

  • Wykresy
  • 3 min read

Wykres zwany „mapa drzewa” jest alternatywnym sposobem wizualizacji hierarchicznej struktury diagramu drzewa za pomocą zagnieżdżonych prostokątów.

Każda gałąź drzewa to prostokąt, który jest dzielony na mniejsze prostokąty przedstawiające podgałęzie. Gdy ilość jest przypisana do kategorii, to jej powierzchnia jest wyświetlana proporcjonalnie do tej ilości. Mówiąc prościej- każdy prostokąt ma powierzchnię proporcjonalną do zadanego rozmiaru danych.

Dalej skomplikowane? To spójrz na poniższy przykład pokazujący, jak możesz zastąpić wykres obrazujący drzewo właśnie wykresem „mapa drzewa”:

mapa drzewa treemap

Twórcą tego wykresu jest Ben Shneiderman, który opracował mapy drzew na początku lat 90 poprzedniego wieku. Był to sposób wizualizacji obszernego katalogu plików na komputerze, które nie zajmowały zbyt wiele miejsca na ekranie.

Zalety:

  • Mapa drzewa świetnie sprawdza się w porównywaniu proporcji między kategoriami, wykorzystując różne wielkości ich powierzchni.
  • Efektywnie wykorzystuje przestrzeń, co czyni je użytecznymi do prezentowania dużej ilości danych.

Wady:

  • Wadą tej mapy jest to, że nie pokazuje ona poziomów hierarchicznych tak wyraźnie, jak inne wykresy wizualizujące dane hierarchiczne (takie jak diagram drzewa lub diagram Sunburst).
  • W przypadku więcej niż 3 poziomów hierarchii staje się nieczytelna (zbyt „zagracona”).

W przypadku wykresów typu mapa drzewa tak naprawdę sens ma wersja interaktywna. Dlatego poniżej przykład jak zrobić taką rzecz w Python!

Python

Do interaktywnych wykresów nie znam lepszej biblioteki na chwilę obecną niż biblioteka Plotly. Dla przykładu wykorzystajmy część danych z Giełdy Papierów Wartościowych.

import pandas as pd
import plotly.express as px

df = pd.read_excel ('../data/202006_GPW.xls', sheet_name='Dane').fillna("")
df.head(3)

Dane możesz pobrać stąd. Wyglądają one w ten sposób:

treemap data gpw example

Zobacz, jak prosto można przygotować interaktywną mapę drzew:

fig = px.treemap(df, path = ['Branża', 'Nazwa'], values='Kapital')
fig.show()
mapa drzewa treemap example

Jak widzisz – całkiem jasno widać, która branża ma największą kapitalizację na giełdzie. Również łatwo zauważyć, gdzie są największe spółki.

Mam nadzieję, że przyda Ci się powyższa wiedza i będziesz mieć możliwość wykorzystania tego typu wykresu.

Pozdrawiam serdecznie,

podpis Mirek

1 komentarz do “#011 Mapa drzewa (treemap plot)”

  1. Pingback: #022 Wykres sunburst - Mirosław Mamczur

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Spodobało Ci się? Udostępnij ten post w social mediach! ❤️❤️❤️