He producido un porcentaje barplot apilados partir de los datos siguientes, que está en un archivo csv,R: legend tipo en ggplot2
,ONE,TWO,THREE
1,2432,420,18
2,276,405,56
3,119,189,110
4,90,163,140
5,206,280,200
6,1389,1080,1075
7,3983,3258,4878
8,7123,15828,28111
9,8608,48721,52576
10,9639,44725,55951
11,8323,45695,32166
12,2496,18254,26600
13,1524,8591,18583
14,7861,1857,1680
15,10269,5165,4618
16,13560,64636,63262
usando el siguiente código
library(ggplot2)
library(reshape2)
library(scales)
data <- read.csv(file="file.csv",sep=",",header=TRUE)
data <- data[,2:ncol(data)]
datam <- melt(cbind(data,ind = sort(rownames(data))),is.var = c('ind'))
datam$ind <- as.numeric(datam$ind)
ggplot(datam,aes(x = variable, y = value,fill = factor(as.numeric(ind)))) +
geom_bar(position = "fill") + scale_y_continuous(labels =percent_format()) +
scale_fill_discrete("Barcode\nMatch") +xlab("Barcode")+ylab("Reads")
El resultado es
El problema es que los elementos de la leyenda no están en el mismo orden que las pilas que representan. Los colores y los números son correctos pero el orden no. En otras palabras, ¿hay alguna manera de invertir el orden de los elementos en la leyenda? Gracias
Esto no funciona con un porcentaje barplot apilados. –
Aquí hay un enlace actualizado para más información de Legends: http://www.cookbook-r.com/Graphs/Legends_(ggplot2)/. – nofinator