R : Comment dessiner des cercles dans des tracés : avec des exemples



Vous pouvez utiliser les méthodes suivantes pour tracer un cercle dans un tracé dans R :

Méthode 1 : dessiner un cercle en utilisant la base R

library(plotrix)

#create scatter plot
plot(x, y)

#add circle at specific (x, y) coordinates with specific radius
draw.circle(x=3, y=8, radius=.5)

Méthode 2 : dessiner un cercle à l’aide de ggplot2

library(ggplot2)
library(ggforce)

#create scatter plot with circle at specific location with specific radius
ggplot(data = df, aes(x, y)) +
  geom_point() +
  geom_circle(aes(x0=3, y0=8, r=1), inherit.aes=FALSE) +
  coord_fixed()

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Exemple 1 : dessiner un cercle en utilisant la base R

Pour dessiner un cercle sur un tracé en base R, vous devez d’abord installer et charger le package plotrix :

install.packages('plotrix')
library(plotrix)

Ensuite, nous pouvons utiliser la fonction draw.circle() du package plotrix pour ajouter un cercle à un nuage de points en base R :

#create data frame
df <- data.frame(x=c(1, 2, 2, 3, 3, 4, 8),
                 y=c(2, 4, 5, 4, 7, 9, 10))

#create scatter plot
plot(df$x, df$y)

#add circle
draw.circle(x=3, y=8, radius=.5)

Vous pouvez également utiliser la fonction draw.circle() plusieurs fois pour tracer plusieurs cercles sur le même tracé :

#create data frame
df <- data.frame(x=c(1, 2, 2, 3, 3, 4, 8),
                 y=c(2, 4, 5, 4, 7, 9, 10))

#create scatter plot
plot(df$x, df$y)

#add multiple circles to plot
draw.circle(x=3, y=8, radius=.5)
draw.circle(x=4, y=5, radius=.5, border='red', col='lightblue', lwd=5, lty='dashed')

dessiner un cercle dans le tracé dans R

Notez que plusieurs cercles ont été ajoutés au tracé aux coordonnées (x, y) que nous avons spécifiées.

Exemple 2 : dessiner un cercle à l’aide de ggplot2

Pour dessiner un cercle sur un tracé dans ggplot2, vous devez d’abord installer et charger les packages ggplot2 et ggforce :

install.packages('ggplot2')
install.packages('ggforce')
library(ggplot2)
library(ggforce)

Ensuite, nous pouvons utiliser la fonction geom_circle() du package ggforce pour ajouter un cercle à un nuage de points dans ggplot2 :

#create data frame
df <- data.frame(x=c(1, 2, 2, 3, 3, 4, 8),
                 y=c(2, 4, 5, 4, 7, 9, 10))

#create scatter plot with circle
ggplot(data = df, aes(x, y)) +
  geom_point() +
  geom_circle(aes(x0=3, y0=8, r=1), linetype='dashed', color='red',
              fill='lightblue', lwd=1.5, inherit.aes=FALSE) +
  coord_fixed()

dessiner un cercle dans ggplot2

Le cercle est placé aux coordonnées exactes (x, y) que nous avons spécifiées.

Remarque : Si vous n’utilisez pas l’argument coord_fixed() , le cercle peut apparaître comme une ellipse.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment créer un nuage de points dans R avec plusieurs variables
Comment étiqueter des points sur un nuage de points dans R
Comment ajouter une équation de régression à un tracé dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *