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
- Sélection du graphique — la question analytique détermine le type de graphique, pas les données
- Pipeline API → graphique —
requests.get()→pd.DataFrame()→px.bar()→st.plotly_chart() - Garde-fous —
if df.empty,dropna(),pd.to_datetime()avant chaque graphique - Personnalisation — fond transparent,
hovertemplate, palette centralisée,style_figure()factorisée - Interactivité —
on_select="rerun"+st.session_statepour le cross-filtering
Checklist dashboard
Points de contrôle avant de livrer votre dashboard :
| Point de contrôle | Code / technique |
|---|---|
| Garde DataFrame vide | if df.empty: st.info(...) avant chaque graphique |
| Largeur responsive | use_container_width=True sur chaque st.plotly_chart() |
| Dates natives | pd.to_datetime() sur toute colonne de date |
| Fond transparent | plot_bgcolor="rgba(0,0,0,0)", paper_bgcolor="rgba(0,0,0,0)" |
| Palette cohérente | Dictionnaire COULEURS réutilisé dans tous les graphiques |
| Hover lisible | hovertemplate personnalisé avec <extra></extra> |
| Axes non trompeurs | rangemode="tozero" sur les bar charts |
| Labels métier | labels={...} 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.
Plotly Express — Documentation officielle
Référence de tous les types de graphiques et paramètres
DocumentationPlotly Express — Gallery
Galerie d'exemples interactifs pour tous les types de graphiques
DocumentationFrom Data to Viz — Choosing the right chart
Guide interactif pour choisir le bon type de visualisation selon vos données