Визуализация данных играет решающую роль в понимании и эффективной передаче сложной информации. Одним из таких методов визуализации является вафельная диаграмма. В этой записи блога мы погрузимся в мир вафельных диаграмм, изучим их различные применения и обсудим различные методы их создания на примерах кода.
Что такое вафельная диаграмма?
Вафельная диаграмма – это визуализация на основе сетки, напоминающая вафлю или шахматную доску. Это полезно для представления частей целого или сравнения категориальных данных в визуально привлекательной форме. Каждый квадрат в сетке представляет определенное значение или категорию, а общее количество квадратов на диаграмме соответствует общему представляемому значению.
Метод 1: использование Matplotlib в Python
Matplotlib — популярная библиотека визуализации данных в Python. Чтобы создать вафельную диаграмму с помощью Matplotlib, выполните следующие действия:
import matplotlib.pyplot as plt
def create_waffle_chart(categories, values, width, height, colormap):
total_values = sum(values)
proportions = [float(value) / total_values for value in values]
num_tiles = width * height
tiles_per_category = [round(proportion * num_tiles) for proportion in proportions]
waffle_chart = np.zeros((height, width))
category_index = 0
tile_index = 0
for col in range(width):
for row in range(height):
tile_index += 1
if tile_index > sum(tiles_per_category[0:category_index]):
category_index += 1
waffle_chart[row, col] = category_index
plt.figure(figsize=(10, 6))
colormap = plt.cm.get_cmap(colormap, len(categories))
plt.imshow(waffle_chart, cmap=colormap)
legend_handles = []
for i, category in enumerate(categories):
legend_handles.append(plt.bar(0, 0, color=colormap(i), label=category))
plt.legend(handles=legend_handles, loc='upper left')
plt.axis('off')
plt.show()
# Example usage
categories = ['Category A', 'Category B', 'Category C']
values = [15, 30, 55]
width = 10
height = 5
colormap = 'tab20b'
create_waffle_chart(categories, values, width, height, colormap)
Метод 2: использование R и пакета waffle
.
Если вы предпочитаете работать с R, существует специальный пакет под названием waffle
, который упрощает создание вафельных диаграмм.. Вот пример того, как создать вафельную диаграмму с помощью R:
install.packages("waffle")
library(waffle)
# Example usage
categories <- c('Category A', 'Category B', 'Category C')
values <- c(15, 30, 55)
waffle(values, rows = 10, colors = c('steelblue', 'skyblue', 'lightblue'),
legend_pos = 'bottom', title = 'Waffle Chart Example',
labels = categories)
Вафельные диаграммы — мощный инструмент для визуализации категориальных данных и сравнения частей целого. В этой статье мы рассмотрели два разных метода создания вафельных диаграмм с использованием Python и R. Эти примеры кода могут послужить отправной точкой для ваших проектов визуализации данных. Поэкспериментируйте с различными конфигурациями и настройте диаграммы в соответствии со своими потребностями.