Tengo la siguiente trama como a continuación. Fue creado con este comando:
library(ggplot2)
df <- data.frame(cond = factor(rep(c("A", "B"), each = 200)),
rating = c(rnorm(200), rnorm(200, mean=.8)))
ggplot(df, aes(x=rating, fill=cond)) +
geom_density(alpha = .3) +
xlab("NEW RATING TITLE") +
ylab("NEW DENSITY TITLE")
Ahora lo siguiente que quiero hacer es modificar el título de la leyenda de cond a NEW LEGEND TITLE .
Entonces, lo que hice fue agregar la siguiente línea y agregar el final del código anterior:
+labs(colour="NEW LEGEND TITLE")
Pero no funciona. ¿Cuál es la forma correcta de hacerlo?
labs(fill="xyz")
debe hacergeom_
declaraciones, recomiendo la respuesta en stackoverflow.com/a/38485985/1169233 , es la única que funcionó para mí.Respuestas:
Esto debería funcionar:
(o alternativamente)
fuente
p$labels$fill <- "New Legend Title"
p$labels$fill
No funcionó para mí. Conggplot2_2.1.0
yo usop$labels$colour <- "New legend title"
p$labels$fill
es agradable, pero si está utilizando más de una variable en estética (tipo de línea, color, forma) en aes, debe cambiarlas para cada una por separado.No profundicé mucho en esto, pero porque usaste fill = cond en ggplot (),
Puede que no haya funcionado. Sin embargo, si reemplaza el color por relleno , ¡funciona!
Esto funcionó para mí en ggplot2_2.1.0
fuente
p + guides(fill=guide_legend(title="New Legend Title"))
Como tienes dos densidades, imagino que quizás quieras establecer tus propios colores
scale_fill_manual
.Si es así, puedes hacer:
fuente
Ninguno de los códigos anteriores funcionó para mí.
Esto es lo que encontré y funcionó.
labs(color = "sale year")
También puede dar un espacio entre el título y la pantalla agregando
\n
al final.labs(color = 'sale year\n")
fuente
fill
lugar decolor
(ocolour
) es necesario? Dado el momento de la pregunta, es posible que estéggplot2
relacionada con la versión.Como en el código que usó
ggplot(data, fill= cond)
para crear el histograma, debe agregar el título de la leyenda usando también "llenar" en la sección de etiqueta, es decir+labs(fill="Title name")
. Si estaba usando un tipo diferente de diagrama donde el código era ggplot (data, color = cond), entonces podría usarlo+labs(colour= "Title Name")
. En resumen, el argumento de laboratorio debe coincidir con el argumento aes.Solía
+ guides(fill=guide_legend("my awesome title"))
cambiar el título de la leyenda en las parcelas geom_bar pero no parecía funcionar para geom_point.fuente
geom_point()
, esto funciona para mí:guides(color=guide_legend("Type:"))
guides(color=guide_legend("Score Ranking:"))
Hay otra respuesta muy simple que puede funcionar para algunos gráficos simples.
Simplemente agregue una llamada a guide_legend () en su gráfico.
Como se muestra en los muy buenos documentos de ggplot .
Si eso no funciona, puede configurar con mayor precisión los parámetros de su guía con una llamada a guías :
También puede variar la forma / color / tamaño especificando también estos parámetros para su llamada
guides
.fuente
qplot(…) + guides(color=guide_legend(title="sale year"))
funcionóSolo para agregar a la lista (las otras opciones aquí no funcionaron para mí), también puede usar la función update_labels para ggplot:
Esto también le permitirá cambiar las etiquetas de los ejes xyy, con líneas separadas:
fuente
Noté que hay dos formas de cambiar / especificar legend.title para ggboxplot ():
El código se modifica según el ejemplo de GitHub .
fuente
Estoy usando facet_wrap en mi ggplot y ninguna de las soluciones sugeridas funcionó para mí, excepto la solución de ArnaudA:
fuente
Muchas personas pasan mucho tiempo cambiando etiquetas, leyendas, títulos y nombres de los ejes porque no saben que es posible cargar tablas en R que contienen espacios
" "
. Sin embargo, puede hacer esto para ahorrar tiempo o reducir el tamaño de su código, especificando los separadores cuando carga una tabla que, por ejemplo, está delimitada con pestañas (o cualquier otro separador que no sea el predeterminado o un solo espacio):o utilizando los parámetros de carga predeterminados del formato csv:
Esto significa que puede mantener directamente el nombre
"NEW LEGEND TITLE"
como un nombre de columna (encabezado) en su archivo de datos original para evitar especificar un nuevo título de leyenda en cada gráfico.fuente
ggplot(df) + labs(legend = '<legend_title>')
fuente