Gestire troppe categorie
A volte lo spazio in figura è limitato e devi mostrare molti dati in una volta sola. Qui vuoi mostrare l'andamento dell'intero anno di ogni inquinante per ogni città nel dataset pollution. La traiettoria di ogni inquinante sarà tracciata come una linea con il valore sull'asse y corrispondente alle deviazioni standard dalla media annuale. Questo significa che avrai molte linee nel grafico contemporaneamente — molte più di quante tu possa distinguere chiaramente con il colore.
Per gestire la cosa, hai deciso di mettere in evidenza un piccolo sottoinsieme di combinazioni città-inquinante (wanted_combos). Questo sottoinsieme è il più importante per te, mentre le altre traiettorie forniranno un contesto utile per il confronto. Per concentrare l'attenzione, imposterai tutte le linee non evidenziate allo stesso colore "other".
Questo esercizio fa parte del corso
Migliorare le tue visualizzazioni dei dati in Python
Istruzioni dell'esercizio
- Modifica la list comprehension per isolare le combinazioni desiderate di città e inquinante (
wanted_combos). - Indica al line plot di colorare le linee in base alla nuova colonna
color_catsnel tuo DataFrame. - Usa l'argomento
unitsper determinare come, cioè da quale colonna, collegare i punti dati per formare ogni linea. - Disabilita il binning dei punti con l'argomento
estimator.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()