varias superponer personalizar modificar los limites leyenda las gráfico graficas ggplot etiquetas escala ejes eje como cambiar r ggplot2 boxplot

superponer - ¿Cómo cambiar los nombres de las etiquetas de tick del eje x, el orden y el color del diagrama de caja usando R ggplot?



superponer graficas en r ggplot (2)

Tengo una carpeta que contiene archivos csv, cada uno con dos columnas de datos, por ejemplo:

0,red 15.657,red 0,red 0,red 4.429,red 687.172,green 136.758,green 15.189,red 0.152,red 23.539,red 0.348,red 0.17,blue 0.171,red 0,red 61.543,green 0.624,blue 0.259,red 338.714,green 787.223,green 1.511,red 0.422,red 9.08,orange 7.358,orange 25.848,orange 29.28,orange

Estoy usando el siguiente código R para generar los diagramas de caja:

files <- list.files(path="D:/Ubuntu/BoxPlots/test/", pattern=NULL, full.names=F, recursive=FALSE) files.len<-length(files) col_headings<-c("RPKM", "Lineage") for (i in files){ i2<-paste(i,"png", sep=".") boxplots<-read.csv(i, header=FALSE) names(boxplots)<-col_headings png(i2) bplot<-ggplot(boxplots, aes(Lineage, RPKM)) + geom_boxplot(aes(fill=factor(Lineage))) + geom_point(aes(colour=factor(Lineage))) print(bplot) graphics.off() }

Ahora quiero cambiar el color de los diagramas de caja para que coincidan con sus etiquetas de color del eje x correspondientes. También quiero cambiar los nombres de las etiquetas del eje x, y también su orden. ¿Hay alguna manera de hacer esto usando ggplot o qplot?


A partir de la respuesta de @ shadow, aquí se explica cómo puede cambiar manualmente las etiquetas del eje x. También introduje un par de otros cambios que ayudan a mejorar el aspecto del gráfico y la leyenda:

colorder <- c( "green", "orange", "red", "blue") bplot<-ggplot(temp, aes(Lineage, RPKM)) + geom_boxplot(aes(fill=factor(Lineage))) + geom_point(aes(colour=factor(Lineage))) + scale_color_manual(breaks=colorder, # color scale (for points) limits=colorder, values=colorder, labels=c("hESC1","hESC2","hESC3","hESC4"), name="Group") + scale_fill_manual(breaks=colorder, # fill scale (for boxes) limits=colorder, values=colorder, labels=c("hESC1","hESC2","hESC3","hESC4") name="Group") + scale_x_discrete(limits=colorder,labels=c("hESC1","hESC2","hESC3","hESC4")) + theme_bw()

La adición de la opción de labels a la capa scale_x_discrete de la gráfica le permite cambiar las etiquetas de los ejes. Agregar labels a scale_fill_manual y scale_color_manual permite cambiar las etiquetas de leyenda. Agregar name a ambos le permite cambiar el encabezado de la leyenda. Finalmente, agregué theme_bw() a la trama para hacer que el fondo sea blanco y agregar un borde alrededor de la trama. ¡Espero que ayude!


Sí, usted puede hacer esto. Use scale_color_manual , scale_fill_manual y scale_x_discrete siguiente manera:

# specify colors and order colorder <- c( "green", "orange", "red", "blue") bplot<-ggplot(boxplots, aes(Lineage, RPKM)) + geom_boxplot(aes(fill=factor(Lineage))) + geom_point(aes(colour=factor(Lineage))) + scale_color_manual(breaks=colorder, # color scale (for points) limits=colorder, values=colorder) + scale_fill_manual(breaks=colorder, # fill scale (for boxes) limits=colorder, values=colorder) + scale_x_discrete(limits=colorder) # order of x-axis