varias superponer manually los graficas ggplot etiquetas escala ejes como cambiar r text ggplot2 label

manually - superponer graficas en r ggplot



EdiciĆ³n de etiquetas de leyenda(texto) en ggplot (2)

He pasado horas buscando en la documentación y en StackOverflow, pero ninguna solución parece resolver mi problema. Cuando uso ggplot no puedo obtener el texto correcto en la leyenda, aunque esté en mi marco de datos. He intentado scale_colour_manual , scale_fill_manual con diferentes valores para labels= 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! Gracias.


El tutorial @Henrik mencionado es un excelente recurso para aprender a crear gráficos con el paquete ggplot2 .

Un ejemplo con tus datos:

# transforming the data from wide to long library(reshape2) dfm <- melt(df, id="TY") # creating a scatterplot ggplot(data = dfm, aes(x=TY, y=value, color=variable)) + geom_point(size=5) + labs(title = "Temperatures/n", x = "TY [°C]", y = "Txxx", color = "Legend Title/n") + scale_color_manual(labels = c("T999", "T888"), values = c("blue", "red")) + theme_bw() + theme(axis.text.x=element_text(size=14), axis.title.x=element_text(size=16), axis.text.y=element_text(size=14), axis.title.x=element_text(size=16), plot.title=element_text(size=20, face="bold", color="darkgreen"))

esto resulta en:

Como mencionó @ user2739472 en los comentarios: si solo quiere cambiar las etiquetas de texto de leyenda y no los colores de la paleta predeterminada de ggplot, puede usar scale_color_hue(labels = c("T999", "T888")) lugar de scale_color_manual()


Los títulos de las leyendas pueden etiquetarse por estética específica.

Esto se puede lograr utilizando las funciones de guides() o labs() de ggplot2 (más here y here ). Le permite agregar propiedades de guía / leyenda usando el mapeo estético.

Aquí hay un ejemplo usando el mtcars datos mtcars y los labs() :

ggplot(mtcars, aes(x=mpg, y=disp, size=hp, col=as.factor(cyl), shape=as.factor(gear))) + geom_point() + labs(x="miles per gallon", y="displacement", size="horsepower", col="# of cylinders", shape="# of gears")

Respondiendo a la pregunta del OP usando guides() :

# transforming the data from wide to long require(reshape2) dfm <- melt(df, id="TY") # creating a scatterplot ggplot(data = dfm, aes(x=TY, y=value, color=variable)) + geom_point(size=5) + labs(title="Temperatures/n", x="TY [°C]", y="Txxx") + scale_color_manual(labels = c("T999", "T888"), values = c("blue", "red")) + theme_bw() + guides(color=guide_legend("my title")) # add guide properties by aesthetic