你如何在箱线图中将重要字母放在我的变量上?

时间:2018-02-05 00:04:26

标签: r boxplot

我想在我的变量上添加重要字母以显示重要性。我已经看到这可以通过#text脚本选项完成,但是我无法让它工作。从我从阅读其他帖子中收集的内容来看,我认为我的问题来自#par脚本。

这是我到目前为止的脚本:

#par(mfrow=c(4,2), mai=c(.1,.6,.02,.1), oma=c(5,1.5,3,0.5))
#boxplot(log(Data$Ag) ~ Site, data=Data, xaxt='n', ylab="Ag Concentration (?g/g)",cex.lab=1.4, cex.axis=1.3, whisklty=1, staplewex=.5, whisklwd=1.5, outcex = 1.5, cex = 1, boxfill=8)
#boxplot(log(Data$As) ~ Site, data=Data, xaxt='n', ylab="As Concentration (?g/g)",cex.lab=1.4, cex.axis=1.3, whisklty=1, staplewex=.5, whisklwd=1.5, outcex = 1.5, cex = 1, boxfill=8)
#boxplot(log(Data$Cd) ~ Site, data=Data, xaxt='n', ylab="Cd Concentration (?g/g)",cex.lab=1.4, cex.axis=1.3, whisklty=1, staplewex=.5, whisklwd=1.5, outcex = 1.5, cex = 1, boxfill=8)
#boxplot(log(Data$Cr) ~ Site, data=Data, xaxt='n', ylab="Cr Concentration (?g/g)",cex.lab=1.4, cex.axis=1.3, whisklty=1, staplewex=.5, whisklwd=1.5, outcex = 1.5, cex = 1, boxfill=8)
#boxplot(log(Data$Cu) ~ Site, data=Data, xaxt='n', ylab="Cu Concentration (?g/g)",cex.lab=1.4, cex.axis=1.3, whisklty=1, staplewex=.5, whisklwd=1.5, outcex = 1.5, cex = 1, boxfill=8)
#boxplot(log(Data$Fe) ~ Site, data=Data, xaxt='n', ylab="Fe Concentration (?g/g)",cex.lab=1.4, cex.axis=1.3, whisklty=1, staplewex=.5, whisklwd=1.5, outcex = 1.5, cex = 1, boxfill=8)
#boxplot(log(Data$Hg) ~ Site, data=Data, ylab="Hg Concentration (?g/g)", cex.lab=1.4, cex.axis=1.1, whisklty=1, staplewex=.5, whisklwd=1.5, outcex = 1.5, cex = 1, boxfill=8)
#boxplot(log(Data$Zn) ~ Site, data=Data, ylab="Zn Concentration (?g/g)", cex.lab=1.4, cex.axis=1.1, whisklty=1, staplewex=.5, whisklwd=1.5, outcex = 1.5, cex = 1, boxfill=8)

因此产生了这个: Figure 1

我知道这可以在ggplot中完成,但在重新开始之前,我想看看是否有选项可以做到这一点。

1 个答案:

答案 0 :(得分:0)

您可以使用text向图表添加文字。在箱线图上,x坐标从1到 n 排序( n 是框数)。例如,将文本"A"绘制在第一个框图中第一个框的上方:

par(mfrow=c(4,2), mai=c(.1,.6,.02,.1), oma=c(5,1.5,3,0.5))
boxplot(log(Data$Ag) ~ Site, data=Data, xaxt='n', ylab="Ag Concentration (?g/g)",cex.lab=1.4, cex.axis=1.3, whisklty=1, staplewex=.5, whisklwd=1.5, outcex = 1.5, cex = 1, boxfill=8)
## Adding "A" above the first box
text(1, 1.7, "A")

如果您想添加条形图(例如,两个框之间的显着性,您可以使用lines

par(mfrow=c(4,2), mai=c(.1,.6,.02,.1), oma=c(5,1.5,3,0.5))
boxplot(log(Data$Ag) ~ Site, data=Data, xaxt='n', ylab="Ag Concentration (?g/g)",cex.lab=1.4, cex.axis=1.3, whisklty=1, staplewex=.5, whisklwd=1.5, outcex = 1.5, cex = 1, boxfill=8)
## Adding a line above the first two boxes
lines(x = c(1,2), y = c(1.6, 1.6))
## Adding a significance token above the line
text(1.5, 1.7, "*")