Facile

Conclusion — Séance 3

Cette séance couvrait le passage de graphiques statiques à des visualisations interactives et personnalisées dans un dashboard Streamlit.

Ce que vous savez faire

Vous savez maintenant :

  • Choisir la bibliothèque : Plotly Express plutôt que Matplotlib (interactivité) ou Graph Objects (simplicité)
  • Créer les graphiques courants : bar chart (vertical, horizontal, groupé), line chart, pie/donut, scatter, area, box, heatmap
  • Choisir le bon graphique : question analytique → type adapté
  • Mapper une réponse API sur un graphique : endpoint → DataFrame → px.type()st.plotly_chart()
  • Gérer les cas limites : df.empty, NaN, pd.to_datetime(), rangemode="tozero", category_orders
  • Personnaliser : update_layout(), update_traces(), hovertemplate, palette centralisée, fond transparent
  • Ajouter de l'interactivité : on_select="rerun", cross-filtering, st.session_state

Les 5 patterns clés

Patterns à retenir

  1. Sélection du graphique — la question analytique détermine le type de graphique, pas les données
  2. Pipeline API → graphiquerequests.get()pd.DataFrame()px.bar()st.plotly_chart()
  3. Garde-fousif df.empty, dropna(), pd.to_datetime() avant chaque graphique
  4. Personnalisation — fond transparent, hovertemplate, palette centralisée, style_figure() factorisée
  5. Interactivitéon_select="rerun" + st.session_state pour le cross-filtering

Checklist dashboard

Points de contrôle avant de livrer votre dashboard :

Point de contrôleCode / technique
Garde DataFrame videif df.empty: st.info(...) avant chaque graphique
Largeur responsiveuse_container_width=True sur chaque st.plotly_chart()
Dates nativespd.to_datetime() sur toute colonne de date
Fond transparentplot_bgcolor="rgba(0,0,0,0)", paper_bgcolor="rgba(0,0,0,0)"
Palette cohérenteDictionnaire COULEURS réutilisé dans tous les graphiques
Hover lisiblehovertemplate personnalisé avec <extra></extra>
Axes non trompeursrangemode="tozero" sur les bar charts
Labels métierlabels={...} pour remplacer les noms de colonnes techniques

La suite

La séance suivante abordera des sujets complémentaires pour enrichir votre dashboard.

Bilan

Le cycle API → données → graphique interactif → dashboard personnalisé est en place. Flask (séance 1) + Streamlit (séance 2) + Plotly Express (séance 3) forment la stack de visualisation du cours.