我想制作包含5个条形图(包含2个colomns和3个行)的多个图形我希望图例出现在第3行,第2列中。而且,我想要更改标签(A,B,C .. )进入(m / z = 450.02 RT 9.52,m / z 500.07 RT 10,......),它们将出现在每个图的右上方位置。 另外,我想在数据SD的第一个图表中添加错误栏,但我无法在图中添加它们。 请帮我解决这个问题。谢谢!
这是我的控制台:
data <- data.frame(group = c("B. mamane+SAHAall","B. mamane+SAHAprod","Untreated B. mamane","B. mamane+VSall","B. mamane+VSprod"),
intensity = c(7378298.69217025,9009027.95021888,11106773.0180047,3010750.725502,25794620.5038354),
sd = c(2554669.97449261,1054643.80319534,4936955.54885355, 1606982.34241596, 9975537.82883142))
头(数据)
data1 <- data.frame(group = c("B. mamane+SAHAall","B. mamane+SAHAprod","Untreated B. mamane","B. mamane+VSall","B. mamane+VSprod"),
intensity = c(1089586.025,
1622944.618,
1466859.571,
1213772.715,
9310160.875))
data2 <- data.frame(group = c("B. mamane+SAHAall","B. mamane+SAHAprod","Untreated B. mamane","B. mamane+VSall","B. mamane+VSprod"),
intensity = c(1196693.956,
1742096.027,
1545728.252,
1307935.409,
9569069.002))
data2 <- data.frame(group = c("B. mamane+SAHAall","B. mamane+SAHAprod","Untreated B. mamane","B. mamane+VSall","B. mamane+VSprod"),
intensity = c(1196693.956,
1742096.027,
1545728.252,
1307935.409,
9569069.002))
data3 <- data.frame(group = c("B. mamane+SAHAall","B. mamane+SAHAprod","Untreated B. mamane","B. mamane+VSall","B. mamane+VSprod"),
intensity = c(106964005.1,
92622841.82,
122723308,
159793488.3,
153196930.7))
data4 <- data.frame(group = c("B. mamane+SAHAall","B. mamane+SAHAprod","Untreated B. mamane","B. mamane+VSall","B. mamane+VSprod"),
intensity = c(770606573.5,
613182573.3,
780913983.6,
829523587.7,
809287616.6))
p <-ggplot(data, aes(group, y=intensity)) +
geom_bar(stat="identity", aes(fill =group ))+theme(legend.position = "none")
theme_minimal()+
theme(axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank())
p1 <-ggplot(data1, aes(group, y=intensity)) +
geom_bar(stat="identity", aes(fill =group ))+
theme_minimal()+
theme(axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank())
p2 <-ggplot(data2, aes(group, y=intensity)) +
geom_bar(stat="identity", aes(fill =group ))+
theme_minimal()+
theme(axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank())
p3 <-ggplot(data3, aes(group, y=intensity)) +
geom_bar(stat="identity", aes(fill =group ))+
theme_minimal()+
theme(axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank())
p4 <-ggplot(data4, aes(group, y=intensity)) +
geom_bar(stat="identity", aes(fill =group ))+
theme_minimal()+
theme(axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank())
library(grid)
plot_grid(p,p1,p2,p3,p4, labels=c("A", "B","C","D","E"), ncol = 2, nrow = 3)
答案 0 :(得分:1)
data0 <- data
library(plyr)
all<- ldply(0:4, function(x){
tmp <- get(paste0("data", x))
tmp$gp <- x
tmp
})
ggplot(all, aes(group, intensity, fill=group)) +
geom_bar(stat="identity", aes(fill =group )) +
geom_errorbar(data=all[all$gp==0, ], aes(
ymin=intensity-sd, ymax=intensity+sd)) +
facet_wrap(~gp, scales="free", ncol=2) +
theme_minimal()+
theme(legend.position = "bottom",
axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank(),
strip.background = element_blank(),
strip.text.x = element_blank())