#011 Mapa drzewa (Treemap plot)

mapa drzewa - treemap przyklad

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
.

4 Comments on “#011 Mapa drzewa (Treemap plot)”

  1. What’s up i am kavin, its my first time to commenting anyplace, when i read this piece of writing i thought i could also make comment due to this sensible article.

Dodaj komentarz

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