Древовидная диаграмма (Treemap) - Лена Капаца
Древовидная диаграмма (Treemap) by Лена Капаца May 3, 2024 Основы

Древовидная диаграмма (Treemap) — это метод визуализации данных, который представляет иерархическую структуру в виде прямоугольников, размеры которых пропорциональны значению параметра, который нужно визуализировать. Они особенно полезны для отображения иерархических данных с разной глубиной иерархии.

Перед тем как начать использовать Treemap в Python, вам потребуется установить библиотеку Squarify, которая предоставляет функции для создания и отображения Treemap. Установите ее с помощью pip:

 

!pip install squarify

 

Рассмотрим простой пример использования Treemap для визуализации данных. Допустим, у нас есть иерархические данные о продажах различных продуктов в разных категориях. Мы хотим визуализировать общие продажи по категориям и внутри каждой категории.


import matplotlib.pyplot as plt
import squarify

# Пример иерархических данных о продажах
sales_data = {
      'Electronics': {
      'Laptops': 30000,
      'Smartphones': 50000,
      'Tablets': 20000
  }
}


# Преобразование данных для Treemap
# Создаем список кортежей вида (label, value)
# где label - название категории или продукта, а value - его объем продаж
data = []
for category, subcategories in sales_data.items():
    if isinstance(subcategories, dict):
        for subcategory, sales in subcategories.items():
            data.append((f"{category}/{subcategory}", sales))
    else:
        data.append((category, subcategories))

# Создание Treemap
plt.figure(figsize=(10, 7))
squarify.plot(sizes=[x[1] for x in data], label=[x[0] for x in data], alpha=0.6)
plt.axis('off')
plt.title('Продажи по категориям')
plt.show()

 

Размер каждого прямоугольника пропорционален объему продаж. Прямоугольники категорий разделены на подкатегории, а также могут быть разделены на продукты внутри подкатегорий.

 

Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.

© Лена Капаца. Все права защищены.