Introduction — Séance 3
La séance 2 vous a permis de construire un dashboard Streamlit avec sidebar, filtres, KPI cards et tableau interactif. La visualisation graphique y était réduite à st.bar_chart() — un composant limité, sans personnalisation. Cette séance introduit Plotly Express comme bibliothèque de visualisation pour vos dashboards.
Contexte
Un dashboard sans graphiques reste un tableau de bord partiel. Les visualisations révèlent des tendances, des comparaisons et des répartitions que des chiffres bruts ne montrent pas. L'enjeu : passer de graphiques statiques à des graphiques interactifs et personnalisables dans votre dashboard Streamlit.
Pourquoi Plotly Express ?
Plotly Express est bien adaptée aux dashboards web : ses graphiques sont interactifs par défaut (hover, zoom, clic), elle s'intègre nativement avec Streamlit, et sa syntaxe est proche de pandas — une ligne suffit pour créer un graphique.
Objectifs de la séance
À la fin de cette séance, vous serez capable de :
- Distinguer Matplotlib, Plotly et Plotly Express
- Créer les types de graphiques courants en BI avec Plotly Express
- Mapper une réponse d'API (liste de dicts ou DataFrame) sur un graphique
- Gérer les cas limites : données manquantes, axes dynamiques, formats de date
- Intégrer des graphiques Plotly dans un dashboard Streamlit
- Personnaliser l'apparence d'un graphique
Prérequis
- Séance 2 complétée : vous disposez d'un dashboard Streamlit fonctionnel avec sidebar et KPI cards
- pandas : notions de base sur les DataFrames (vous en avez besoin pour créer les graphiques)
- Repository : la classe
VentesRepositoryde la séance 1, toujours utilisée comme source de données
Installation à prévoir
Plotly n'est pas inclus dans l'installation de base de Python. Installez-le avant de commencer :
pip install plotly
Il est souvent déjà présent si vous avez installé Streamlit — vérifiez avec pip show plotly.
Plan de la séance
| Partie | Contenu | Durée estimée |
|---|---|---|
| Types de graphiques | Panorama des bibliothèques, bar, line, pie, scatter | 30 min |
| API vers graphique | Flux complet endpoint → DataFrame → graphique | 15 min |
| Cas limites | Données manquantes, formats de date, axes, interactivité | 20 min |
| Personnalisation | update_layout, update_traces, couleurs, thème Streamlit | 15 min |
| Exercices | Mise en pratique | 45 min |
| Quiz | Validation des acquis | 10 min |
Approche pédagogique
Chaque type de graphique est présenté avec un exemple basé sur les données de ventes. Les patterns appris sur un graphique s'appliquent aux autres — apprendre px.bar vous donne les clés de px.line, px.pie et px.scatter.
La première étape : situer Plotly Express dans l'écosystème des bibliothèques de visualisation Python.