Não encontrei nenhuma postagem que abordasse esse problema especificamente.
No gráfico a seguir, gostaria de usar uma coluna de strings de um único caractere como formas para geom_point()
. A vinheta de ajuda ggplot2-specs indica que uma única string de um único caractere pode ser especificada.
Quero ver "4", "6" e "8" usados como formas de pontos (em vez de círculo, triângulo e quadrado). Mas parece que não funciona. E se funcionasse, gostaria de ver uma legenda (em vez de duas).
library(dplyr); library(ggplot2)
mtcars2 <- mtcars %>%
inner_join(data.frame(cyl=c(4,6,8),
cyl_word=c('four','six','eight')))
p <- ggplot(mtcars2, aes(mpg, wt, color=cyl_word)) + geom_line()
p + geom_point(aes(shape=factor(cyl)), size=3)
Usar " geom_text()
em vez de geom_point()
" produz algo mais próximo dos resultados desejados. O que falta é que as formas ("4", "6", "8") não aparecem na legenda (suspeito que a letra "a" na legenda seja o indicador de geom_text()
e que ela seja imutável... certo?)
p + geom_text(aes(label=factor(cyl)), size=6)
Não sei se talvez eu devesse usarscale_shape_?()