pch en R : formes de points pour plot() avec le tableau des symboles pch
Choisissez parmi les 25 symboles de tracé, dimensionnez-les, colorez-les et remplissez-les en R de base
Le tableau de référence complet pch 0-25 pour R, plus comment définir la forme des points, la taille (cex), la couleur de bordure (col) et le remplissage (bg, pour les symboles 21-25) sur un graphique R de base, utiliser un seul caractère comme symbole, et faire correspondre la forme à un facteur de regroupement.
Date de publication
27 juin 2026
Modifié
7 juillet 2026
AstucePoints clés
Définissez la forme des points avec pch — un entier de 0 à 25 (le défaut est 1, un cercle ouvert).
Les formes se répartissent en trois groupes : 0–14 sont ouvertes, 15–20 sont pleines, 21–25 sont remplissables.
Dimensionnez les points avec cex (un multiplicateur : cex = 2 double la taille), colorez le contour avec col.
Seuls pch = 21:25 lisent bg — cela définit le remplissage, vous obtenez donc une bordure et un remplissage en deux couleurs.
pch accepte aussi un seul caractère (pch = "+", "*", une lettre) pour dessiner ce glyphe à chaque point.
Introduction
Vous avez dessiné un nuage de points et chaque point est le même cercle ouvert. Pour distinguer des groupes, marquer une observation clé, ou simplement correspondre au style d’une revue, vous changez le symbole de tracé — et en R de base c’est un seul argument : pch.
pch (plotting character) prend un entier de 0 à 25, chacun une forme différente. Une poignée de ces formes peuvent être remplies d’une couleur distincte. Vous pouvez aussi passer à pch un caractère littéral pour estamper +, * ou une lettre à chaque point. Cette leçon vous donne le tableau de référence complet, puis parcourt le dimensionnement, la coloration et le remplissage des symboles, et la correspondance d’une forme à chaque groupe.
Vous préférez la grammaire des graphiques ? ggplot2 définit les formes via scale_shape_* et l’attribut esthétique shape — voir formes de points dans la série ggplot2.
Le tableau de référence pch
Le moyen le plus rapide de choisir un symbole est de les voir tous en même temps. Ceci dessine chaque forme de 0 à 25 et étiquette chacune avec son numéro, pour que vous puissiez lire directement l’entier voulu sur le tableau.
# Lay the 26 symbols (0-25) out on a gridpch <-0:25cols <-6x <- (pch %% cols)y <--(pch %/% cols)plot(x, y, pch = pch, cex =2, lwd =1.5,col ="#3a86d4", bg ="#cfe0f4",axes =FALSE, xlab ="", ylab ="",xlim =c(-0.5, cols -0.5), ylim =c(min(y) -0.5, 0.5))text(x, y, labels = pch, pos =3, offset =0.9, font =2)
Quelques points à lire dessus. Les symboles 0–14 sont des contours ouverts — col les dessine. 15–20 sont pleins — col remplit toute la forme (il n’y a pas de bordure distincte). 21–25 sont spéciaux : ils ont à la fois un contour (col) et un remplissage (bg), ce qui explique pourquoi les formes bordées ci-dessus montrent un bord bleu autour d’un centre bleu pâle.
Pour ne dessiner aucun point du tout, utilisez pch = NA — pratique quand vous voulez seulement les lignes de liaison.
Ce que signifient les numéros pch
Connaître les trois groupes suffit généralement, mais les formes exactes valent un coup d’œil pour que vous puissiez nommer celle que vous voulez :
Remplissables : cercle, carré, losange, triangle vers le haut, triangle vers le bas
col = la bordure, bg = le remplissage.
Les choix de tous les jours : pch = 19 (un cercle plein net) pour un nuage de points standard, pch = 21 quand vous voulez un remplissage coloré et un contour contrasté.
Changer la forme
Passez n’importe quel numéro du tableau à pch. Par défaut plot() utilise pch = 1, le cercle ouvert ; ici nous passons au cercle plein 19.
x <-c(2.2, 3, 3.8, 4.5, 7, 8.5, 6.7, 5.5)y <-c(4, 5.5, 4.5, 9, 11, 15.2, 13.3, 10.5)op <-par(mfrow =c(1, 2))plot(x, y) # default: pch = 1, open circleplot(x, y, pch =19) # solid circle
par(op)
Les deux graphiques montrent les mêmes données ; seul le symbole a changé. Optez pour un pch plein (15–20) quand les points se chevauchent — un marqueur rempli se lit plus clairement qu’un contour.
Dimensionner avec cex
cex (character expansion) met les symboles à l’échelle. C’est un multiplicateur sur la taille par défaut : cex = 1 est normal, cex = 2 double, cex = 0.5 réduit de moitié.
x <-c(2.2, 3, 3.8, 4.5, 7, 8.5, 6.7, 5.5)y <-c(4, 5.5, 4.5, 9, 11, 15.2, 13.3, 10.5)op <-par(mfrow =c(1, 2))plot(x, y, pch =19, col ="#3a86d4") # default sizeplot(x, y, pch =19, col ="#3a86d4", cex =2) # double size
par(op)
cex peut aussi être un vecteur — une valeur par point — pour dimensionner les marqueurs selon une troisième variable (un effet de bulle rapide), par ex. cex = z / max(z) * 3.
Colorer avec col (et bg pour 21–25)
col définit la couleur du symbole. Pour les formes ouvertes et pleines (pch 0–20) c’est tout le symbole. Les formes remplissables (pch 21–25) la divisent en deux : col est la bordure et bg est le remplissage — vous pouvez donc tracer le contour d’une couleur et remplir d’une autre.
x <-c(2.2, 3, 3.8, 4.5, 7, 8.5, 6.7, 5.5)y <-c(4, 5.5, 4.5, 9, 11, 15.2, 13.3, 10.5)op <-par(mfrow =c(1, 3))# One colour for a solid symbolplot(x, y, pch =19, col ="darkgreen", cex =1.6)# col can be a vector (recycled across points)plot(x, y, pch =19, col =c("darkgreen", "red"), cex =1.6)# pch 21-25: col = border, bg = fillplot(x, y, pch =24, col ="#3a86d4", bg ="red", cex =2.4, lwd =2)
par(op)
Le troisième graphique est l’idée clé : avec pch = 24 (un triangle remplissable), col = "#3a86d4" dessine le contour et bg = "red" le remplit. lwd épaissit ce contour. Essayez le même appel avec pch = 19 et le bg ne fait rien — seuls 21:25 le lisent.
Un seul caractère comme symbole
pch accepte aussi une chaîne de caractères, et R estampe ce glyphe à chaque point. Tout fonctionne : "+", "*", "-", ".", "#", "%", ou une lettre.
set.seed(1234)x <-rnorm(100)y <-rnorm(100)op <-par(mfrow =c(1, 2))plot(x, y, pch ="+", col ="#3a86d4")plot(x, y, pch ="o", col ="#3a86d4")
par(op)
pch = "." est un cas particulier — il dessine le plus petit point possible, ce qui est le bon choix pour les très grands nuages où même pch = 19 se chevaucherait jusqu’à former une masse pleine.
Faire correspondre la forme à un groupe
Pour donner à chaque groupe son propre symbole, construisez un vecteurpch de la même longueur que vos données en convertissant un facteur de regroupement en entiers. as.integer(factor) renvoie 1, 2, 3… ; décalez-le (ici + 14) pour atterrir sur des formes pleines qui se lisent bien.
as.integer(grp) transforme les espèces en 1, 2, 3, et nous indexons nos vecteurs grp_pch / grp_cols avec — donc chaque point reçoit le symbole et la couleur de son groupe. La legend() répète les mêmes pch et col dans l’ordre des niveaux du facteur pour que la légende corresponde. (Voir Ajouter une légende pour les détails de la légende.)
Essayez en direct
Changez le numéro pch, les couleurs ou cex et appuyez sur Run — cela s’exécute dans votre navigateur via webR, sans installation.
🟢 Avec un agent IA
Demandez à Prova« pourquoi ma couleur de remplissage bg pch est-elle ignorée ? » — elle répond avec du code R de base que vous pouvez exécuter, donc la correction est reproductible. The runtime is the judge.Demander à Prova →
Problèmes courants
bg n’a aucun effet sur mes points.bg définit le remplissage, et seuls les symboles remplissables le lisent — pch doit être 21, 22, 23, 24 ou 25. Avec tout autre pch (0–20) l’argument est silencieusement ignoré ; le symbole prend sa couleur de col seul. Passez à pch = 21 (un cercle remplissable) pour obtenir une bordure (col) plus un remplissage (bg).
Chaque groupe est sorti avec la même forme. Vous avez passé une seule valeur pch, donc tous les points la partagent. Pour faire varier le symbole il vous faut un pchvecteur de la longueur de vos données — construisez-le en indexant une table de correspondance avec le groupe, grp_pch[as.integer(factor)], et non en passant directement le facteur à pch.
Questions fréquentes
NoteQue signifie pch en R ?
pch signifie plotting character — l’argument qui définit le symbole de point dans les graphiques R de base. Il prend un entier de 0 à 25 (chacun une forme différente) ou un seul caractère comme "+" ou "*". Le défaut est pch = 1, un cercle ouvert.
NoteQuelle est la valeur pch par défaut en R ?
pch = 1, un cercle ouvert. Changez-le en passant un autre numéro, par ex. plot(x, y, pch = 19) pour un cercle plein.
NoteComment remplir un point de couleur en R ?
Utilisez un symbole remplissable — pch21 à 25 — et définissez bg pour le remplissage et col pour la bordure, par ex. plot(x, y, pch = 21, col = "black", bg = "red"). Pour pch 0–20, bg est ignoré et col colore tout le symbole.
NoteQuelle est la différence entre pch col et bg ?
col est le contour du symbole (et, pour les symboles pleins 15–20, tout le remplissage). bg est la couleur de remplissage de fond, lue uniquement par les symboles pch = 21:25. Ensemble ils permettent à ces cinq symboles de montrer une bordure et un remplissage en deux couleurs différentes.
NoteComment agrandir les points en R ?
Définissez cex — il met à l’échelle la taille du symbole. cex = 2 la double, cex = 0.5 la réduit de moitié. Passez un vecteur de valeurs cex (une par point) pour dimensionner les marqueurs selon une troisième variable.
Testez vos connaissances
ImportantExercice : un marqueur bordé et rempli
Le graphique ci-dessous utilise un cercle plein. Changez-le en un symbole remplissable avec une bordure bleu foncé et un remplissage orange, en taille double, avec un contour plus épais.
AstuceIndice
Une bordure et un remplissage signifie un symbole remplissable — choisissez un pch dans la plage 21:25. Ensuite col est la bordure, bg le remplissage, cex la taille et lwd la largeur du contour.
AstuceSolution
plot(x, y, pch =21, col ="darkblue", bg ="orange", cex =2, lwd =2)
pch = 21 est un cercle remplissable, donc col dessine la bordure et bg le remplissage ; cex = 2 double la taille et lwd = 2 épaissit le contour.
Vérification rapide. Vous définissez pch = 17 et une couleur bg, mais le remplissage ne change jamais. Pourquoi ?
AstuceAfficher la réponse
pch = 17 est un triangle plein (dans le groupe 15–20), et bg est lu uniquement par pch = 21:25. Utilisez pch = 24 (un triangle remplissable) si vous avez besoin d’une bordure et d’un remplissage distincts.
Conclusion
pch est l’argument unique pour les formes de points en R de base : un entier 0–25, ou un caractère pour estamper un glyphe. Souvenez-vous des trois groupes — ouvert (0–14), plein (15–20), remplissable (21–25, les seuls qui lisent bg) — dimensionnez avec cex, colorez avec col, et construisez un vecteur pch pour donner à chaque groupe son propre symbole.
Leçons connexes
Nuage de points — où vous mettez ces symboles à l’œuvre, et Ajouter une légende — étiquetez quelle forme correspond à quel groupe. · Couleurs en R — construisez des palettes adaptées au daltonisme pour col/bg. · Formes de points ggplot2 — la même idée avec l’attribut esthétique shape.
Cette leçon est reproductible : chaque figure a été produite par le code affiché, exécuté lors de la génération du site (si elles s’affichent, le code fonctionne), et le bac à sable se réexécute en direct dans votre navigateur. Modifiez n’importe quel bloc et appuyez sur Run. The runtime is the judge.
@online{2026,
author = {},
title = {pch en R : formes de points pour plot() avec le tableau des
symboles pch},
date = {2026-06-27},
url = {https://www.datanovia.com/learn/data-visualization/r-base/pch-symbols},
langid = {fr}
}