Faut-il plus de vélos les jours de soleil ?
Un graphique transforme une colonne de nombres en une image qu'on comprend en une seconde. Bien le choisir, c'est choisir celui qui répond à la question posée.
Le loueur de vélos veut savoir s'il doit prévoir plus de vélos les jours de soleil. Trois cent soixante-cinq nombres ne lui répondent pas. Un graphique en barres, oui.
À la fin de cette leçon
Remarque
Je peux faire un graphique qui répond à une question.
Mots clés
| Mot | Ce que ça veut dire |
|---|---|
| Axe | la ligne graduée qui porte les valeurs d'un graphique |
| Diagramme en barres | un graphique avec une barre par groupe |
| Histogramme | un graphique qui montre comment des valeurs se répartissent |
| Total | la somme des valeurs d'un groupe |
| Moyenne | le total divisé par le nombre de valeurs |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Avant de commencer
Remarque
Appuie sur Start the lab. Le lab est un JupyterLab rien qu'à toi, avec le fichier hires.csv : les locations de vélos de chaque jour de 2025. Chaque script enregistre une image dans ton dossier de travail et affiche des nombres. Tu peux ouvrir l'image dans JupyterLab.
Chaque question appelle son graphique
Avant de dessiner, écris la question en une phrase. La question décide du graphique.
Pour comparer des groupes, on trace des barres. Pour voir comment des valeurs se répartissent, on trace un histogramme. Pour voir comment un chiffre change dans le temps, on trace une ligne.
Exemple : une question, un graphique
| Question du loueur | Graphique | Pourquoi |
|---|---|---|
| Quelle météo loue le plus ? | Diagramme en barres | Une barre par météo |
| Combien de jours louent 300 vélos ? | Histogramme | Il compte les jours par case |
| Les locations montent-elles en été ? | Courbe | Le temps est sur l'axe du bas |
| Chaud et locations vont-ils ensemble ? | Nuage de points | Un point par jour |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Un histogramme montre comment les valeurs se répartissent
On range les valeurs en cases de même largeur, puis on compte combien tombent dans chaque case. Ici chaque case vaut 50 locations.
La barre la plus haute montre le cas le plus courant. Lance le Run : il compte les jours de chaque case et enregistre l'image hist.png.
Compte les jours de chaque case
docker exec jupyter python3 steps/hist.pyAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Exemple : les jours par nombre de locations
| Locations par jour | Nombre de jours |
|---|---|
| 0 à 49 | 1 |
| 50 à 99 | 3 |
| 100 à 149 | 24 |
| 150 à 199 | 39 |
| 200 à 249 | 73 |
| 250 à 299 | 94 |
| 300 à 349 | 68 |
| 350 à 399 | 41 |
| 400 à 449 | 20 |
| 450 à 499 | 2 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Total ou moyenne : comparer des groupes
Pour comparer des groupes, on calcule un chiffre par groupe : le total ou la moyenne. Le total dépend du nombre de jours de chaque groupe. La moyenne tient compte de ce nombre.
Dans le fichier, 131 jours sont ensoleillés, 114 nuageux et 120 pluvieux.
Exemple : locations par météo
| Météo | Jours | Total des locations | Moyenne par jour |
|---|---|---|---|
| sunny | 131 | 40903 | 312,2 |
| cloudy | 114 | 30436 | 267,0 |
| rainy | 120 | 27313 | 227,6 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Calcule la moyenne de chaque météo
docker exec jupyter python3 steps/weather.pyAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Un axe coupé trompe l'œil
Dans un diagramme en barres, la hauteur de la barre doit valoir la valeur. Pour cela, l'axe part de zéro.
Si on coupe le bas de l'axe, les petites différences paraissent énormes. Lance le Run : il trace les mêmes barres deux fois, une fois depuis 0 et une fois depuis 220, et compare les rapports.
Compare un axe honnête et un axe coupé
docker exec jupyter python3 steps/axis.pyAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Une erreur fréquente
Attention
Beaucoup croient qu'un axe coupé rend le graphique plus lisible. Il le rend surtout plus trompeur : une différence de 37 % paraît douze fois plus grande. Fais partir l'axe de zéro pour les barres, et écris toujours un titre et le nom de chaque axe.
À toi : un total par groupe en Python
# Des ventes de glaces : le parfum, puis les euros.
ventes = [["fruit", 12], ["chocolat", 20], ["fruit", 8], ["vanille", 5], ["chocolat", 10]]
totaux = {}
for ligne in ventes:
parfum = ligne[0]
euros = ligne[1]
if parfum not in totaux:
totaux[parfum] = 0
totaux[parfum] = totaux[parfum] + euros
print(totaux)
# Ajoute une vente de vanille à 7 euros dans la liste et relance.
Pour aller plus loin : un titre honnête
Écris un titre pour le graphique des moyennes par météo. Il doit dire ce que le graphique montre, pas seulement son sujet.
Compare « Locations par météo » et « Les jours de soleil louent 37 % de vélos de plus que les jours de pluie ». Lequel répond à la question du loueur ?