我需要比较两种不同的方法,每种方法在一个图形中使用堆叠条形样式有3种不同的结果。
我想绘制一个图,以便x轴显示实验,y轴显示结果。每个栏以堆积条形式填充3个结果。
experiment method resuult1 result2 result3
1 m1 1 2 3
1 m2 4 5 6
2 m1 7 8 9
2 m2 10 11 12
3 m1 13 14 15
3 m2 16 17 18
答案 0 :(得分:0)
您的数据:
dataset <- data.frame(
experiment = c(1,1,2,2,3,3),
method = c("m1","m2","m1","m2","m1","m2"),
result1 = seq(1,16,by=3),
result2 = seq(2,17,by=3),
result3 = seq(3,18,by=3))
我们首先需要将您的数据转换为稍微不同的格式:
foo <- t(as.matrix(dataset[,c("result1","result2","result3")]))
bar <- cbind(foo[,1:2],NA,foo[,3:4],NA,foo[,5:6])
请bar
了解此处发生的事情。接下来,我们绘制并添加一些轴注释:
baz <- barplot(height=bar,beside=FALSE,
legend.text=rownames(bar),args.legend=list(x="topleft",inset=0.05))
axis(1,at=baz[c(1,2,4,5,7,8)],labels=dataset[,"method"],tick=FALSE)
axis(1,at=c(mean(baz[1:2]),mean(baz[4:5]),mean(baz[7:8])),
labels=paste("Experiment",1:3),tick=FALSE,line=2)