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')
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()
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