Passei horas procurando na documentação e no StackOverflow, mas nenhuma solução parece resolver o meu problema. Ao usar, ggplot
não consigo obter o texto correto na legenda, mesmo que esteja no meu quadro de dados. Eu tentei scale_colour_manual
, scale_fill_manual
com valores diferentes para labels=
, como c("T999", "T888")", "cols"
.
Aqui está o meu código:
T999 <- runif(10, 100, 200)
T888 <- runif(10, 200, 300)
TY <- runif(10, 20, 30)
df <- data.frame(T999, T888, TY)
ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) +
geom_point(size = 15, colour = "darkblue") +
geom_point(data = df, aes(x=T888, y=TY), colour = 'red', size = 10 ) +
theme(axis.text.x = element_text(size = 20), axis.title.x =element_text(size = 20), axis.text.y = element_text(size = 20)) +
xlab("Txxx") + ylab("TY [°C]") + labs(title="temperatures", size = 15) +
scale_colour_manual(labels = c("T999", "T888"), values = c("darkblue", "red")) + theme(legend.position="topright")
Ajuda seria muito apreciada!
ggplot
está mais satisfeito (longo, não amplo) e para ter uma idéia da diferença entre o mapeamento de umaaes
tética para uma variável naaes
chamada e a configuração externaaes
. Você precisa demelt
seus dados para um formato longo e mapearcolour
(oufill
)aes
para a variável relevante.Respostas:
O tutorial mencionado por Henrik é um excelente recurso para aprender a criar gráficos com o
ggplot2
pacote.Um exemplo com seus dados:
isto resulta em:
Conforme mencionado por @ user2739472 nos comentários: Se você deseja alterar apenas os rótulos de texto da legenda e não as cores da paleta padrão do ggplot, pode usar em
scale_color_hue(labels = c("T999", "T888"))
vez descale_color_manual()
.fonte
scale_color_hue(labels = c("T999", "T888"))
em vez descale_color_manual()
Os títulos das legendas podem ser rotulados por estética específica .
Isso pode ser alcançado usando as funções
guides()
oulabs()
deggplot2
(mais aqui e aqui ). Permite adicionar propriedades de guia / legenda usando o mapeamento estético.Aqui está um exemplo usando o
mtcars
conjunto de dados elabs()
:Respondendo à pergunta do OP usando
guides()
:fonte
scale_ ..
oulabs
.scale_color_manual(title="...", ...)
. Vejo que você o modificou para fazer referência à estética das coreslabs()
. Eu ofereço minha solução como alternativa.