我有来自3个不同csv数据文件的3个数据集,并且我试图将它们放在一个箱子图中,每个盒子的平均点都有点。一切都很好,直到我尝试添加手段 使用下面的脚本,我得到了我想要的输出图(所以这部分都很好)......
boxplot(a$total, p$total, f$total,
names = c("Total", "PR", "FM"), ylab="Evals",
col = c("firebrick4", "red3", "tomato1"))
但是,添加平均值时遇到问题。使用points(mean(a$total), pch=18)
可以在第一个框中添加我想要的内容(" Total"),但当我执行points(mean(p$total), pch=18)
时,它会将p$total
的平均值添加到&#34 ;总"盒子而不是" PR"框。任何帮助是极大的赞赏! All 3 mean points on first box
答案 0 :(得分:0)
我有一个ggplot
解决方案:
首先,一些玩具数据:
a <- data.frame(total = rnorm(50, 4, 0.3))
p <- data.frame(total = rnorm(50, 5, 0.4))
f <- data.frame(total = rnorm(50, 4, 0.25))
现在制作一个情节并使用stat_summary来获取方法:
library(ggplot2)
ggplot(a, aes(y=total, x=NA)) +
geom_boxplot(data=a,aes(x="Total"),fill="firebrick4") +
geom_boxplot(data=p,aes(x="PR"),fill="red3") +
geom_boxplot(data=f,aes(x="FM"),fill="tomato1") +
xlab("") +
ylab("Evals") +
stat_summary(data = a, aes(x="Total"), fun.y = "mean", colour = "yellow", size = 3, geom = "point") +
stat_summary(data = p, aes(x="PR"), fun.y = "mean", colour = "yellow", size = 3, geom = "point") +
stat_summary(data = f, aes(x="FM"), fun.y = "mean", colour = "yellow", size = 3, geom = "point")
结果: