Очистка фона
Исследуя закономерности на уровне штатов в отношении товаров, продаваемых на фермерских рынках, вы обратили внимание на несколько штатов. Северная Дакота и Нью-Мексико неизменно оказывались в числе аутсайдеров по доле рынков, торгующих тем или иным товаром, тогда как Вермонт стабильно держался в лидерах. Вы хотите наглядно показать общие закономерности продаж товаров по штатам, особо выделив наиболее интересные из них.
Для этого вы строите точечный график, отражающий долю рынков в каждом штате, которые продают тот или иной товар. Чтобы подчеркнуть интересные штаты, вы соединяете их точки линиями. Для минималистичного и аккуратного вида графика вы оставляете лишь простую сетку в качестве ориентира.
Это упражнение является частью курса
Улучшение визуализации данных в Python
Инструкции к упражнению
- Установите белый фон с линиями сетки для графика.
- Задайте оси x и y для точечного и линейного графиков, используя
'good'(продаваемый товар) и'prop selling'(доля продаж) соответственно. - Удалите все границы графика. Помните, что по умолчанию
sns.despine()удаляет только верхнюю и правую границы!
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Set background to white with grid
sns.set_style('____')
plt.scatter('____','____', marker = '_', alpha = 0.7, data = goods_by_state)
# Draw lines across goods for highlighted states
highlighted = goods_by_state.query("state in ['New Mexico','North Dakota','Vermont']")
sns.lineplot('____','____', 'state', data = highlighted, legend = False)
# Draw state name at end of lines
last_rows = highlighted.groupby('state', as_index = False).agg('first')
for _,row in last_rows.iterrows():
plt.annotate(row['state'], (row['good'], row['prop selling']),
ha = 'right', xytext = (5,0), textcoords = 'offset pixels')
# Remove all borders
sns.____(____ = ____, ____ = ____)
plt.show()