r - legends - guides ggplot2
Cambio de formas utilizadas para scale_shape() en ggplot2 (3)
Supongamos que tengo lo siguiente
y <- rnorm(10)
b <- as.factor(sample(1:4,10,replace=T))
qplot(1:10, y, shape=b)
¿Cómo cambio las formas que se usan con ggplot2
?
La forma ggplot de hacerlo sería usar scale_shape_manual
y proporcionar las formas deseadas en el argumento de values
:
qplot(1:10, y, shape=b) + scale_shape_manual(values = c(0, 5, 6, 15))
Las formas son las mismas que las de los índices 0-25 habituales: http://yusung.blogspot.com/2008/11/plot-symbols-in-r.html
Para complementar la respuesta de Harlan, aquí hay referencias de las formas disponibles: comience desde 0 en la esquina inferior izquierda y luego en la derecha (10y + x):
df <- data.frame(x=c(0:129))
ggplot(df, aes(x=x%%10, y=floor(x/10), shape=factor(x), colour=x, size=10)) +
geom_point() +
scale_shape_manual(values=df$x) + theme(legend.position=''none'') +
scale_x_continuous(breaks=0:10) + scale_y_continuous(breaks=0:12) +
scale_colour_hue() + scale_colour_gradientn(colours=rainbow(3))
> y <- rnorm(10)
> b <- as.factor(sample(1:4,10,replace=T))
> qplot(1:10, y, shape=b)
> qplot(1:10, y, pch=letters[1:10], cex=6)
¿Es esto lo que quieres decir? Me imagino que puedes usar cualquiera de los personajes de trazado de R.
Sin embargo, puede que esto no sea una forma muy ''ggplot'' de hacer esto, pero la página man dice "Puedes usarla como si usaras la función ''trazar''". :-)