Intermédiaire

Choisir le bon graphique

Savoir créer un bar chart ou un line chart ne suffit pas — il faut savoir quand utiliser chaque type. Un graphique mal choisi peut être trompeur ou inutile. Cette page propose un cadre de décision.

Le principe : question analytique → type de graphique

Le choix du graphique dépend de la question analytique que vous cherchez à répondre, pas des données elles-mêmes. Le même DataFrame peut être visualisé de trois façons différentes selon la question posée.

Question analytiqueType de graphiqueFonction Plotly Express
Comparer des catégoriesBar chartpx.bar
Suivre une évolution dans le tempsLine chartpx.line
Montrer une répartition (parts d'un tout)Pie / Donut chartpx.pie
Explorer une relation entre deux variablesScatter plotpx.scatter
Montrer la distribution d'une variableBox plotpx.box
Visualiser un volume cumulé dans le tempsArea chartpx.area
Visualiser les corrélations entre variablesHeatmappx.imshow

Arbre de décision

Chargement du diagramme…

Règle d'or

En cas de doute, commencez par un bar chart. C'est le graphique le plus lisible et le plus universellement compris. Vous pourrez toujours affiner ensuite.

Graphiques complémentaires : area, box, heatmap

Trois types complémentaires aux quatre graphiques principaux (bar, line, pie, scatter).

Area chart — volume cumulé dans le temps

L'area chart est un line chart avec la zone sous la courbe remplie. Il met en valeur le volume autant que la tendance.

python
import plotly.express as px

fig = px.area(
    df_evolution,
    x="mois",
    y="chiffre_affaires",
    color="region",
    title="Évolution du CA par région (cumulé)",
    labels={"chiffre_affaires": "CA (€)", "mois": "Mois"}
)
st.plotly_chart(fig, use_container_width=True)

Quand choisir area plutôt que line ?

L'area chart est pertinent pour montrer la contribution de chaque catégorie au total au fil du temps. Les zones empilées montrent à la fois la tendance globale et la part de chaque série. Pour une seule série, un line chart est plus lisible.

Box plot — distribution et écarts

Le box plot résume la distribution d'une variable : médiane, quartiles, valeurs extrêmes. Utile pour comparer les distributions entre catégories.

python
fig = px.box(
    df_produits,
    x="categorie",
    y="prix_unitaire",
    title="Distribution des prix par catégorie",
    labels={"prix_unitaire": "Prix unitaire (€)", "categorie": "Catégorie"}
)
st.plotly_chart(fig, use_container_width=True)

Le hover affiche automatiquement la médiane, les quartiles Q1/Q3 et les bornes (min/max hors outliers). Les points au-delà des moustaches sont des outliers — des valeurs atypiques qui méritent attention.

Heatmap — matrice de corrélation

La heatmap visualise une matrice de valeurs numériques avec un code couleur. Usage courant en BI : la matrice de corrélation.

python
import plotly.express as px

# Calculer la matrice de corrélation
corr_matrix = df[["prix_unitaire", "volume_ventes", "chiffre_affaires", "marge"]].corr()

fig = px.imshow(
    corr_matrix,
    text_auto=".2f",
    color_continuous_scale="RdBu_r",
    title="Matrice de corrélation"
)
st.plotly_chart(fig, use_container_width=True)

Le paramètre text_auto=".2f" affiche les valeurs de corrélation directement sur chaque cellule (formatées à 2 décimales). color_continuous_scale="RdBu_r" applique un dégradé rouge-bleu classique pour les corrélations.

Quel graphique choisir pour montrer la répartition du chiffre d'affaires entre 4 régions ?

Erreurs courantes à éviter

Pie chart avec trop de catégories

Un pie chart avec 15 catégories est illisible — les parts sont trop petites pour être comparées. Au-delà de 5-6 catégories, utilisez un bar chart horizontal trié par valeur décroissante.

Règle des 6 catégories

Si votre variable a plus de 6 catégories, abandonnez le pie chart. Regroupez les petites catégories dans « Autres » ou passez à un bar chart horizontal. Un bar chart avec 20 catégories reste lisible ; un pie chart avec 20 parts ne l'est jamais.

Bar chart pour une série temporelle

Un bar chart mensuel peut fonctionner, mais il masque la tendance. Le line chart connecte les points et rend la tendance perceptible. Réservez le bar chart temporel aux comparaisons de périodes discrètes (T1 vs T2, année N vs N-1).

Scatter plot avec trop peu de points

Un scatter plot avec 5 points ne révèle aucune corrélation — il faut au minimum une vingtaine de points pour qu'un pattern émerge. Avec peu de données, un tableau ou un bar chart est plus informatif.

Pourquoi un pie chart avec 15 catégories est-il déconseillé ?

Quel graphique est le plus adapté pour visualiser la corrélation entre prix unitaire et volume de ventes ?

Exercice : Choisir le bon graphique

Facile

Pour chacune des questions analytiques suivantes, indiquez le type de graphique le plus adapté et la fonction Plotly Express correspondante :

  1. « Quel est le chiffre d'affaires de chaque catégorie de produits ? »
  2. « Comment le nombre de commandes évolue-t-il mois par mois sur l'année 2024 ? »
  3. « Existe-t-il une corrélation entre le prix unitaire et la quantité vendue ? »

Pour chaque question, justifiez votre choix en une phrase.

À retenir

Points clés

  • Le choix du graphique dépend de la question analytique, pas des données
  • Comparaison → bar chart | Tendance → line chart | Répartition → pie/donut | Relation → scatter
  • Distribution → box plot | Volume cumulé → area chart | Corrélations → heatmap
  • Pie chart : maximum 5-6 catégories, sinon passer au bar chart horizontal
  • En cas de doute, commencez par un bar chart — c'est le graphique le plus lisible