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

Выбор правильной переменной для цветового кодирования

Вам поручено визуализировать значения загрязнения воздуха для Лонг-Бич и близлежащих городов в динамике. Приведённый код строит следующий график (трудночитаемый), на котором отображены максимальные значения загрязнения (переданные как max_pollutant_values), а столбцы окрашены по городам.

Mutlicolor and busy bar plots with four rows corresponding to the four pollutants in dataset

Несколько небольших изменений позволят значительно улучшить этот график. Если ограничить список городов только западной частью страны, удастся избежать перегруженности. Кроме того, замена цветового кодирования с city на year даёт возможность использовать порядковую палитру — тогда читателю не придётся постоянно обращаться к легенде, чтобы понять, какой цвет соответствует какому городу.

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

Улучшение визуализации данных в Python

Посмотреть курс

Инструкции к упражнению

  • Удалите 'Indianapolis', 'Des Moines', 'Cincinnati', 'Houston' из вектора cities.
  • Поменяйте местами кодирование переменных city и year.
  • Используйте палитру ColorBrewer 'BuGn', чтобы цвета соответствовали новой порядковой переменной.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Reduce to just cities in the western half of US
cities = ['Fairbanks', 'Long Beach', 'Vandenberg Air Force Base', 'Denver', 
          'Indianapolis', 'Des Moines', 'Cincinnati', 'Houston']

# Filter data to desired cities
city_maxes = max_pollutant_values[max_pollutant_values.city.isin(cities)]

# Swap city and year encodings
sns.catplot(x = 'year', hue = 'city',
              y = 'value', row = 'pollutant',    
              # Change palette to one appropriate for ordinal categories
              data = city_maxes, palette = 'muted',
              sharey = False, kind = 'bar')
plt.show()
Редактировать и запускать код