Древовидная диаграмма (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()
Размер каждого прямоугольника пропорционален объему продаж. Прямоугольники категорий разделены на подкатегории, а также могут быть разделены на продукты внутри подкатегорий.
Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.
© Лена Капаца. Все права защищены.