Анимация столбчатых диаграмм
Введение:
Визуализация данных может быть мощным способом передачи сложной информации в простой и увлекательной форме. Когда необходимо понять долгосрочные тенденции или закономерности, например, рост цен на недвижимость за 25 лет, традиционные статические диаграммы или графики могут неэффективно отражать динамическую природу данных. Создав визуальное представление, которое показывает изменения цен на недвижимость с течением времени, месяц за месяцем, за весь 25-летний период, мы можем представить колебания цен как непрерывный поток информации, позволяя тем, кто смотрит на диаграмму, уловить общую тенденцию и проследить, как цены растут и падают на протяжении многих лет.
Библиотеки:
bar_chart_race, пакет python для создания красивых диаграмм
pip install bar_chart_race
import bar_chart_race as bcr
Источник данных:
Индекс цен на жилье в Великобритании (UK HPI) отражает изменения в стоимости жилой недвижимости на региональном уровне.
Предварительная обработка данных:
Предварительная обработка включает преобразование столбца ‘Date’ в формат времени и создание поворотной таблицы (pvdata) со средними значениями столбца ‘Detached_Average_Price’, используя ‘Date’ в качестве индекса и ‘Region_Name’ в качестве столбцов.
df['Date'] = pd.to_datetime(df['Date'])
pvdata = df.pivot_table("Detached_Average_Price", index = "Date",columns = ["Region_Name"], aggfunc = np.average)
Следующим шагом будет сортировка индекса, заполнение пропущенных значений, добавление столбца ‘месяц_год’, установка его в качестве нового индекса, сброс индекса в числовой индекс, и, наконец, группировка данных по месяцам и вычисление средних значений.
pvdata.sort_index(inplace=True, ascending=True)
pvdata = pvdata.fillna(0)
pvdata['month_year'] = pvdata.index.strftime('%Y-%m')
pvdata_month = pvdata.set_index("month_year")
pvdata_month.reset_index()
pvdata_monthgr = pvdata_month.groupby('month_year').mean()
Визуализация данных:
bcr.bar_chart_race(df = pvdata_monthgr,
filename = "growthbyregion.gif",
filter_column_colors = True,
cmap = "prism",
title = "Average House Price By Months")
Резюме:
Анимация может передать ощущение движения и развития, обеспечивая более интуитивное и увлекательное понимание данных, чем статичная диаграмма или график, и позволяя зрителям легко воспринимать сложную информацию и получать ценные сведения из данных.