He pasado horas buscando en la documentación y en StackOverflow, pero ninguna solución parece resolver mi problema. Cuando lo uso, ggplot
no puedo obtener el texto correcto en la leyenda, aunque esté en mi marco de datos. Lo he intentado scale_colour_manual
, scale_fill_manual
con diferentes valores para labels=
tales como c("T999", "T888")", "cols"
.
Aquí está mi 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")
¡La ayuda seria muy apreciada!
ggplot
está más satisfecho (largo, no ancho) y para tener una idea de la diferencia entre mapear unaaes
thetic a una variable en laaes
llamada y establecerla fueraaes
. Necesitamelt
sus datos en un formato largo y mapearcolour
(ofill
) enaes
la variable relevante.Respuestas:
El tutorial que @Henrik mencionó es un excelente recurso para aprender a crear gráficos con el
ggplot2
paquete.Un ejemplo con tus datos:
esto resulta en:
Como lo menciona @ user2739472 en los comentarios: si solo desea cambiar las etiquetas de texto de la leyenda y no los colores de la paleta predeterminada de ggplot, puede usar en
scale_color_hue(labels = c("T999", "T888"))
lugar descale_color_manual()
.fuente
scale_color_hue(labels = c("T999", "T888"))
lugar descale_color_manual()
Los títulos de leyenda se pueden etiquetar por estética específica .
Esto se puede lograr usando las funciones
guides()
olabs()
deggplot2
(más aquí y aquí ). Le permite agregar propiedades de guía / leyenda utilizando el mapeo estético.Aquí hay un ejemplo usando el
mtcars
conjunto de datos ylabs()
:Respondiendo a la pregunta del OP usando
guides()
:fuente
scale_ ..
olabs
.scale_color_manual(title="...", ...)
. Veo que lo ha modificado para hacer referencia a la estética del color enlabs()
. Ofrezco mi solución como alternativa.