Доработка графика
Вас заинтересовала зависимость между широтой фермерского рынка и количеством месяцев, в течение которых он работает. Интуитивно понятно: чем южнее расположен рынок, тем длиннее вегетационный сезон и тем дольше рынок может оставаться открытым. Чтобы наглядно показать эту закономерность, вы агрегируете данные о рынках на уровне штатов и строите тепловую карту, столбцы которой соответствуют продолжительности работы рынков. Каждая строка тепловой карты отражает распределение «сезона» рынков для одного штата, а строки отсортированы по убыванию широты штата.

Тепловая карта с настройками по умолчанию оставляет желать лучшего. Уменьшите размер шрифта, чтобы названия штатов не перекрывали друг друга. Тёмная цветовая палитра плохо сочетается со светлым фоном, а цветовая шкала не помогает читателю, поскольку здесь важны относительные сравнения, а не абсолютные значения.
Это упражнение является частью курса
Улучшение визуализации данных в Python
Инструкции к упражнению
- Уменьшите размер шрифта до 85% от значения по умолчанию, чтобы названия штатов не накладывались друг на друга.
- Создайте новую цветовую палитру, переходящую от
'white'к'steelblue'. - Замените палитру по умолчанию на созданную.
- Удалите непрерывную цветовую шкалу, отображаемую рядом с тепловой картой.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Decrease font size so state names are less crowded
sns.set(____ = ____)
# Switch to an appropriate color palette
blue_pal = sns.light_palette("____", as_cmap = True)
# Order states by latitude
g = sns.heatmap(markets_by_month.reindex(state_by_lat),
# Add gaps between cells
linewidths = 0.1,
# Set new palette and remove color bar
cmap = ____, cbar = ____,
yticklabels = True)
# Rotate y-axis ticks
g.set_yticklabels(g.get_yticklabels(), rotation = 0)
plt.title('Distribution of months open for farmers markets by latitude')
plt.show()