Banddikte gebruiken in plaats van inkleuren
Je bent een onderzoeker die kijkt naar de hoogte die een raket bereikt voordat deze uit het zicht raakt, en naar de niveaus van verontreinigende stoffen op Vandenberg Air Force Base. Je hebt een model gebouwd om deze relatie te voorspellen (opgeslagen in de DataFrame rocket_height_model), en omdat je onafhankelijk werkt, heb je geen budget om kleurenfiguren in je wetenschappelijke artikel te betalen. Je moet je modelplot geschikt maken voor zwart-wit. Hiervoor plot je de 90-, 95- en 99%-intervallen van het effect van elke verontreinigende stof als opeenvolgend smallere balken.
Deze oefening maakt deel uit van de cursus
Je datavisualisaties verbeteren in Python
Oefeninstructies
- Gebruik een dikte van
15voor 90%,10voor 95% en5voor 99%-intervallijnen. - Geef de intervallendikte door aan
plt.hlines(). - Zet de intervalkleur op
'gray'om het contrast te verzachten.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Decrase interval thickness as interval widens
sizes = [ ____, ____, ____]
int_widths = ['90% CI', '95%', '99%']
z_scores = [ 1.67, 1.96, 2.58]
for percent, Z, size in zip(int_widths, z_scores, sizes):
plt.hlines(y = rocket_model.pollutant,
xmin = rocket_model['est'] - Z*rocket_model['std_err'],
xmax = rocket_model['est'] + Z*rocket_model['std_err'],
label = percent,
# Resize lines and color them gray
linewidth = ____,
color = '____')
# Add point estimate
plt.plot('est', 'pollutant', 'wo', data = rocket_model, label = 'Point Estimate')
plt.legend(loc = 'center left', bbox_to_anchor = (1, 0.5))
plt.show()