カテゴリが多すぎるときの対処法
限られた描画スペースで一度にたくさんのデータを見せたいことがあります。ここでは、pollution データセットにある各都市ごとの各汚染物質について、1 年間の推移をすべて表示したいとします。各汚染物質の推移は線で描き、y 値はその年平均からの標準偏差に対応します。つまり、プロット上には同時に非常に多くの線が表示され、色だけでは明確に区別しきれません。
これに対処するため、都市と汚染物質の組み合わせのうち一部(wanted_combos)だけを強調表示することにしました。このサブセットが最も重要で、その他の軌跡は比較のための有用な文脈を提供します。注目を集めるため、強調しない軌跡の線はすべて同じ「other」カラーに設定します。
この演習はコースの一部です
Pythonでデータ可視化を磨く
演習の手順
- リスト内包表記を修正して、目的の都市と汚染物質の組み合わせ(
wanted_combos)だけを抽出します。 - 作成した
color_cats列を使って、折れ線グラフの線色を指定します。 units引数を使って、各線を形成するためにデータ点を「どの列に基づいて」結ぶかを指定します。estimator引数でポイントのビニングを無効にします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Choose the combos that get distinct colors
wanted_combos = ['Vandenberg Air Force Base NO2', 'Long Beach CO', 'Cincinnati SO2']
# Assign a new column to DataFrame for isolating the desired combos
city_pol_month['color_cats'] = [x if x in ____ else 'other' for x in city_pol_month['city_pol']]
# Plot lines with color driven by new column and lines driven by original categories
sns.lineplot(x = "month",
y = "value",
hue = '____',
units = '____',
estimator = ____,
palette = 'Set2',
data = city_pol_month)
plt.show()