M <- cor(mtcars)
round(M[1:4, 1:4], 2) # a corner of the 11x11 matrix mpg cyl disp hp
mpg 1.00 -0.85 -0.85 -0.78
cyl -0.85 1.00 0.90 0.83
disp -0.85 0.90 1.00 0.79
hp -0.78 0.83 0.79 1.00
Transformez une matrice de corrélation en un graphique clair et coloré — méthodes, dispositions, réordonnancement hiérarchique et marques de significativité — avec le package corrplot
Apprenez à tracer un corrélogramme en R — une représentation graphique d’une matrice de corrélation — avec le package corrplot. Calculez la matrice avec cor(), puis visualisez-la avec différentes méthodes (circle, pie, colour, number), des dispositions en triangle supérieur/inférieur, un réordonnancement hiérarchique, des couleurs personnalisées et des marques de significativité qui barrent les corrélations non significatives.
23 juin 2026
11 juillet 2026
cor(), puis tracez-la avec corrplot::corrplot().circle, pie, color, number) et une disposition (type = "upper"/"lower"/ "full") ; réordonnez avec order = "hclust" pour faire apparaître les regroupements de variables liées.p.mat) pour que corrplot barre les corrélations non significatives.Un corrélogramme est une représentation graphique d’une matrice de corrélation — une grille où la couleur et la forme de chaque cellule encodent la corrélation entre deux variables. C’est le moyen le plus rapide de repérer les variables les plus corrélées d’un jeu de données et de révéler une structure cachée en réordonnant les variables liées les unes à côté des autres.
Cette leçon utilise le package corrplot — l’outil de corrélogramme standard en R — sur les données intégrées mtcars. Vous calculez la matrice une seule fois avec la fonction de base cor(), puis vous l’explorez visuellement. (Pour calculer la matrice et ses p-values d’une manière tidy et compatible avec les pipes, voir la leçon sur la matrice de corrélation.)
cor() renvoie la matrice des corrélations de Pearson par paires :
corrplot() représente toute la matrice sous forme de graphique. La méthode par défaut method = "circle" dimensionne et colore un cercle selon la corrélation — bleu pour positif, rouge pour négatif :
Au-delà du cercle par défaut, corrplot() propose plusieurs encodages — choisissez celui qui se lit le mieux selon votre public et la taille de votre matrice :
square et color remplissent chaque cellule comme une heatmap compacte — le choix le plus net pour une grande matrice où il suffit de voir où se situent les blocs les plus forts.ellipse montre la direction et la force d’un coup d’œil : l’ellipse se rétrécit et s’incline vers une ligne droite à mesure que la corrélation approche ±1 (penchée à droite pour une corrélation positive, à gauche pour une négative).circle et pie encodent la magnitude par la surface — un cercle plus grand, ou une part de camembert plus pleine, signifie une corrélation plus forte.number affiche le coefficient exact, et shade est un remplissage coloré avec un ombrage diagonal.N’affichez que le triangle supérieur (ou inférieur) pour éviter l’image miroir redondante, et réordonnez avec une classification hiérarchique (order = "hclust") pour que les variables corrélées soient côte à côte — la structure devient évidente :
corrplot() est fourni avec une échelle bleu–rouge, mais vous la contrôlez via l’argument col = — passez n’importe quel vecteur de couleurs et corrplot les répartit sur toute la plage des corrélations, de la valeur la plus négative (la première couleur) jusqu’à la valeur la plus positive (la dernière couleur) en passant par zéro. Construisez une rampe divergente lisse avec la fonction de base colorRampPalette() : donnez-lui la couleur de l’extrémité négative, "white" pour le zéro, et la couleur de l’extrémité positive, puis demandez un gradient fin. Ici, nous gardons l’azur de la marque #3a86d4 pour les corrélations positives et un rouge profond pour les négatives :

Le (200) demande à colorRampPalette() 200 couleurs interpolées, de sorte que le remplissage se dégrade en douceur plutôt que par paliers visibles.
Pour une échelle prête à l’emploi et éprouvée en publication, enveloppez une palette divergente RColorBrewer dans la même rampe. RdBu, BrBG, PuOr et PRGn font partie des palettes divergentes adaptées au daltonisme — optez pour l’une d’elles lorsque le signe de chaque corrélation doit rester lisible pour tous les lecteurs :

brewer.pal() ne renvoie que huit couleurs discrètes ; en l’enveloppant dans colorRampPalette(...)(200), on les interpole en un gradient lisse de 200 paliers. Comme dans la section sur la disposition, tl.col et tl.srt définissent la couleur et la rotation des étiquettes de texte.
Une corrélation peut être proche de zéro par hasard — marquez celles qui sont réelles. Calculez une matrice de p-value avec une petite fonction auxiliaire (en bouclant cor.test() sur chaque paire), puis passez-la comme p.mat avec un sig.level : corrplot barre les cellules non significatives :
library(corrplot)
M <- cor(mtcars)
# p-value matrix: cor.test() for every pair
cor.mtest <- function(mat) {
mat <- as.matrix(mat)
n <- ncol(mat)
p.mat <- matrix(NA, n, n)
diag(p.mat) <- 0
for (i in 1:(n - 1)) {
for (j in (i + 1):n) {
p.mat[i, j] <- p.mat[j, i] <- cor.test(mat[, i], mat[, j])$p.value
}
}
colnames(p.mat) <- rownames(p.mat) <- colnames(mat)
p.mat
}
p.mat <- cor.mtest(mtcars)
corrplot(M, type = "upper", order = "hclust",
p.mat = p.mat, sig.level = 0.05, tl.col = "black", tl.srt = 45)
Les cellules barrées sont des corrélations qui ne sont pas statistiquement significatives au seuil de 0.05 — limitez votre interprétation aux cellules qui subsistent.
Tracez un corrélogramme d’un autre jeu de données, ou changez la méthode et l’ordonnancement. Le bac à sable démarre au premier Run.
Demandez à Prova « trace un corrélogramme de la matrice de corrélation de mes données, réordonne-le pour montrer les regroupements, et barre les corrélations non significatives » — elle répond avec du code corrplot que vous pouvez exécuter sur vos propres données. The runtime is the judge. Demander à Prova →
Les colonnes non numériques font échouer cor(). cor() a besoin d’une matrice entièrement numérique — supprimez ou convertissez d’abord les colonnes facteur/caractère (p. ex. cor(mydata[sapply(mydata, is.numeric)])).
Les valeurs manquantes renvoient NA. Avec des données incomplètes, ajoutez use = "pairwise.complete.obs" à cor() pour que chaque corrélation utilise les paires présentes.
Le graphique paraît encombré avec de nombreuses variables. Utilisez type = "upper" (ou "lower") pour supprimer la moitié redondante, order = "hclust" pour regrouper les variables liées, et envisagez method = "color" plutôt que les nombres pour une grande matrice.
Un corrélogramme est une représentation graphique d’une matrice de corrélation — une grille dans laquelle la couleur et la forme de chaque cellule encodent la corrélation entre deux variables. Il rend les relations positives et négatives les plus fortes faciles à voir d’un coup d’œil, surtout après avoir réordonné les variables liées ensemble.
Calculez la matrice de corrélation avec cor(data), puis tracez-la avec corrplot::corrplot(M). Choisissez une méthode (circle, color, number, pie), une disposition (type = "upper"), et order = "hclust" pour regrouper les variables liées. Ajoutez une matrice de p-value via p.mat pour marquer les corrélations non significatives.
Calculez une matrice de p-value (bouclez cor.test() sur chaque paire, ou utilisez rstatix::cor_pmat()), puis passez-la à corrplot() comme p.mat avec sig.level = 0.05. Par défaut, corrplot barre les cellules dont la p-value dépasse le seuil, ne laissant que les corrélations statistiquement fiables.
Une matrice de corrélation est le tableau des coefficients de corrélation (les nombres) ; un corrélogramme en est la forme visuelle. Calculez la matrice avec cor() ou rstatix::cor_mat() (voir la leçon sur la matrice de corrélation) ; visualisez-la avec corrplot().
iris avec la méthode color. Remplissez le blanc.order = "hclust" est-il utile, et que signifie le fait de barrer une cellule ?Remplissez le blanc avec "upper" (ou "lower"). Pour la question 2, rappelez-vous que la classification met les variables corrélées côte à côte, et qu’une cellule barrée est liée au test de significativité.
Pour la question 2 : order = "hclust" regroupe les variables mutuellement corrélées les unes à côté des autres, révélant des blocs de variables liées qu’un ordre alphabétique brut masque. Une cellule barrée marque une corrélation qui n’est pas statistiquement significative (p > le sig.level choisi), elle ne doit donc pas être interprétée.
Vous savez maintenant tracer un corrélogramme en R avec corrplot : calculez la matrice avec cor(), puis visualisez-la — en choisissant une méthode et une disposition, en réordonnant avec order = "hclust" pour exposer les regroupements, et en superposant un test de significativité pour que les corrélations non significatives soient barrées. C’est le moyen le plus rapide de lire une matrice de corrélation et de communiquer quelles relations dans vos données sont réelles.
Prouvez que vous savez le faire. Maîtrisez toute la série Corrélation en R — suivez votre parcours, construisez des projets et obtenez un certificat.
Passez à Pro — Prova illimité sur vos propres données et un certificat vérifiable qui atteste la compétence.
dès 15 $/mois facturé annuellement
✓ Vous êtes Pro — continuez. The runtime is the judge.
Prêt à passer à la vitesse supérieure ?
Recevez les nouvelles leçons R & Python par e-mail
Pratique, reproductible, sans spam. Désinscription à tout moment.
Double opt-in. Nous ne partageons jamais votre e-mail.
Chaque résultat de cette page a été produit par le code montré, exécuté au moment du build contre un environnement R figé — modifiez n’importe quel bloc et faites Run pour le reproduire vous-même.
@online{2026,
author = {},
title = {Corrélogramme en R : visualiser une matrice de corrélation
avec corrplot},
date = {2026-06-23},
url = {https://www.datanovia.com/learn/biostatistics/correlation/correlogram-in-r},
langid = {fr}
}