Популярность товаров по штатам
Набор данных о фермерских рынках содержит столбцы, соответствующие 28 различным товарам, и указывает, продаются ли они на том или ином рынке. Вам интересно выяснить, есть ли в этих данных какие-либо закономерности, касающиеся вероятности найти тот или иной товар на рынках конкретного штата. Чтобы ответить на этот вопрос, вы сворачиваете данные до трёх столбцов:
state— название штатаgood— интересующий товарprop_selling— доля рынков в данном штате, продающих этот товар
Чтобы быстро выявить возможные закономерности, вы выбираете подмножество интересующих вас товаров и строите простой текстовый точечный график: товар — по оси X, доля рынков штата, торгующих им, — по оси Y.
Это упражнение является частью курса
Улучшение визуализации данных в Python
Инструкции к упражнению
Отфильтруйте
goods_by_state, оставив только нужные товары из спискаto_plot.Скройте точки на диаграмме рассеяния, установив их размер равным нулю.
- Обратите внимание: в
sns.scatterplot()параметрsizeиспользуется для сопоставления значений из столбца со шкалой размеров, тогда какsзадаёт единый постоянный размер для всех точек.
- Обратите внимание: в
Задайте выравнивание текста по центру, чтобы он располагался точно на позиции соответствующего товара по оси X.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Subset goods to interesting ones
to_plot = ['Cheese','Maple','Fruits','Grains','Seafood','Plants','Vegetables']
goods_by_state_small = goods_by_state.____("good in "+str(to_plot))
g = sns.scatterplot('good','prop_selling', data = goods_by_state_small,
# Hide scatter points by shrinking to nothing
____ = ____)
for _,row in goods_by_state_small.iterrows():
g.annotate(row['state'], (row['good'], row['prop_selling']),
# Center annotation on axis
ha = '____',
size = 10)
plt.show()