Bonjour,

J'essaie de faire quelque chose de relativement basique, mais avec ggplot2 ça devient plus compliqué...
Je voudrais, sur le même graphique, tracer 2 cercles concentriques. Pour tracer des cercles, a priori, il faut utiliser la primitive geom_path.
Pour en tracer un, voici un code qui fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
circleFun <- function(centre = c(0, 0), rayon = 25, npoints = 100){
	tt <- seq(0, 2 * pi, length.out = npoints)
	xx <- centre[1] + rayon * cos(tt)
	yy <- centre[2] + rayon * sin(tt)
	return(data.frame(x = xx, y = yy))
}
 
cercle2 <- circleFun(rayon = 2)
g <- ggplot() + geom_path(aes(x = x, y = y), data = cercle2)
g
Pour tracer une deuxième cercle plus petit, j'essaie comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
circleFun <- function(centre = c(0, 0), rayon = 25, npoints = 100){
	tt <- seq(0, 2 * pi, length.out = npoints)
	xx <- centre[1] + rayon * cos(tt)
	yy <- centre[2] + rayon * sin(tt)
	return(data.frame(x = xx, y = yy))
}
 
cercle2 <- circleFun(rayon = 2)
cercle1 <- circleFun(rayon = 1)
g <- ggplot() + geom_path(aes(x = x, y = y), data = cercle2)
	+ geom_path(aes(x = x, y = y), data = cercle1)
Et là, patatra ! Je prends une erreur :
Error in +geom_path(aes(x = x, y = y), data = cercle1) :
argument incorrect pour un opérateur unitaire
Quelqu'un aurait-il une idée de ce qui bloque et de la manière de tracer ces deux cercles ?

Merci d'avance pour votre aide,

ced