Alteração de formas usadas para scale_shape () em ggplot2
Pergunta
Suponha que eu tenha o seguinte
y <- rnorm(10)
b <- as.factor(sample(1:4,10,replace=T))
qplot(1:10, y, shape=b)
Como faço para alterar as formas usadas usando ggplot2
?
Solução
A maneira ggplot de fazer isso seria usar scale_shape_manual
e fornecer as formas desejadas no values
argumento:
qplot(1:10, y, shape=b) + scale_shape_manual(values = c(0, 5, 6, 15))
As formas são as mesmas que os índices usuais de 0 a 25: http://yusung.blogspot.com/2008/11/plot-symbols-in-r.html
Outras dicas
Para complementar a resposta de Harlan, aqui estão as referências para as formas disponíveis - inicie a partir de 0 no canto inferior esquerdo e leia para a direita (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)
É isto que você quer dizer? Eu imagino que você pode usar qualquer um dos personagens da trama de R ...
Essa pode não ser uma maneira muito 'ggplot' de fazer isso, mas a página do homem diz "Você pode usá -lo como se usasse a função" plotagem ".". :-)