Ogni volta che ho bisogno di ispirazione per visualizzazioni efficaci, navigo L’economistaIL Capitalista visivoO Il Washington Post. Durante una di queste incursioni, mi sono imbattuto in un’interessante infografica – simile a quella mostrata sopra – che tracciava l’età di ciascun membro del Congresso degli Stati Uniti rispetto alla sua coorte generazionale.
La mia prima impressione è stata che si trattasse di un grafico a barre orizzontalima un esame più attento rivelò che ogni barra era composta da più barre marcatorirendendolo un grafico a dispersione. Ogni segnalino rappresentava un membro del Congresso.
In questo Scienza dei dati di successo rapido progetto, ricreeremo questo grafico attraente utilizzando Python, panda e seaborn. Lungo il percorso sbloccheremo una cornucopia di tipi di segnalini di cui potresti non sapere che esistano.
Perché gli Stati Uniti sì Età della candidatura leggi, i compleanni dei membri del Congresso fanno parte del registro pubblico. Puoi trovarli in più posti, incluso il Directory biografica del Congresso degli Stati Uniti E Wikipedia.
Per comodità, ho già compilato un file CSV con i nomi degli attuali membri del Congresso, insieme ai loro compleanni, ramo del governo e partito, e l’ho archiviato in questo Il succo.
Il codice seguente è stato scritto in Jupyter Lab ed è descritto per cella.
Importazione di librerie
from collections import defaultdict # For counting members by age.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import patches # For drawing boxes on the plot.
import pandas as pd
import seaborn as sns
Assegnazione di costanti per i dati generazionali
Annoteremo la trama in modo che le coorti generazionali, come Baby Boomer E Generazione Xsono evidenziati. Il codice seguente calcola le fasce di età attuali per ciascuna coorte e include elenchi per i nomi delle generazioni e i colori di evidenziazione. Perché vogliamo trattare questi elenchi come costantimetteremo i nomi in maiuscolo e utilizzeremo un carattere di sottolineatura come prefisso.
# Prepare generational data for plotting as boxes on chart:
CURRENT_YEAR = 2023…