НачатьНачать бесплатно

Очистка фона

Исследуя закономерности на уровне штатов в отношении товаров, продаваемых на фермерских рынках, вы обратили внимание на несколько штатов. Северная Дакота и Нью-Мексико неизменно оказывались в числе аутсайдеров по доле рынков, торгующих тем или иным товаром, тогда как Вермонт стабильно держался в лидерах. Вы хотите наглядно показать общие закономерности продаж товаров по штатам, особо выделив наиболее интересные из них.

Для этого вы строите точечный график, отражающий долю рынков в каждом штате, которые продают тот или иной товар. Чтобы подчеркнуть интересные штаты, вы соединяете их точки линиями. Для минималистичного и аккуратного вида графика вы оставляете лишь простую сетку в качестве ориентира.

Это упражнение является частью курса

Улучшение визуализации данных в 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()
Редактировать и запускать код