varias superponer studio los grafico graficas grafica ggplot escala ejes como cambiar barras apiladas r ggplot2

studio - superponer graficas en r ggplot



Evite ggplot ordenar el eje x mientras traza geom_bar() (3)

Aquí hay un enfoque que no modifica los datos originales, pero usa scale_x_discrete. From? Scale_x_discrete "Use límites para ajustar qué niveles (y en qué orden) se muestran" Por ejemplo:

dat <- read.table(text= "SC_LTSL_BM 16.8275 SC_STSL_BM 17.3914 proB_FrBC_FL 122.1580 preB_FrD_FL 18.5051 B_Fo_Sp 14.4693 B_GC_Sp 15.4986", header = FALSE, stringsAsFactors = FALSE) # plot library(ggplot2) ggplot(dat,aes(x=V1,y=V2))+ geom_bar(stat="identity")+ scale_x_discrete(limits=dat$V1)

Tengo los siguientes datos que quiero trazar con ggplot:

SC_LTSL_BM 16.8275 SC_STSL_BM 17.3914 proB_FrBC_FL 122.1580 preB_FrD_FL 18.5051 B_Fo_Sp 14.4693 B_GC_Sp 15.4986

Lo que quiero hacer es hacer un diagrama de barras y mantener el orden de la barra (es decir, comenzando con SC_LTSL_BM ...B_GC_Sp ). Pero el comportamiento predeterminado de ggplot geom_bar es ordenarlos. ¿Cómo puedo evitar eso?

library(ggplot2) dat <- read.table("http://dpaste.com/1469904/plain/") pdf("~/Desktop/test.pdf") ggplot(dat,aes(x=V1,y=V2))+geom_bar() dev.off()

La figura actual se ve así:


Necesita decirle a ggplot que ya tiene un factor ordenado, por lo que no lo ordena automáticamente.

dat <- read.table(text= "SC_LTSL_BM 16.8275 SC_STSL_BM 17.3914 proB_FrBC_FL 122.1580 preB_FrD_FL 18.5051 B_Fo_Sp 14.4693 B_GC_Sp 15.4986", header = FALSE, stringsAsFactors = FALSE) # make V1 an ordered factor dat$V1 <- factor(dat$V1, levels = dat$V1) # plot library(ggplot2) ggplot(dat,aes(x=V1,y=V2))+geom_bar(stat="identity")


También puede reordenar el factor correspondiente como se describe here

x$name <- factor(x$name, levels = x$name[order(x$val)])