R:如何增加标签和箱线图之间的距离

R: how to increase the distance between label and boxplot

boxplot(count ~ spray, data = InsectSprays, col = "lightgray", names = c("Apple \n Sauce", "Banana", "Candy", "Dandelion", "Eve", "Fox"))

上面的代码给我:

我有一个 multi-line 标签,“Apple Sauce”,但我不知道如何正确地 space 它,这样标签就不会覆盖在箱线图的顶部。如何增加标签和箱线图之间的距离?

编辑:假设我想删除其中一个箱线图

newInsectSprays <- InsectSprays[1:60,]
boxplot(count ~ spray, data=newInsectSprays, col="lightgray", xaxt="n")
axis(1, axTicks(1), labels=F)
mtext(c("Apple\nSauce", "Banana\n", "Candy\n", "Dandelion\n", "Eve\n"), 
      1, 2, at=axTicks(1))

此代码重复“Apple Sauce”标签。我该如何解决这个问题?

编辑 2:

newInsectSprays <- InsectSprays[1:60,]
boxplot(newInsectSprays$count[newInsectSprays$spray == "A"], 
        newInsectSprays$count[newInsectSprays$spray == "B"],
        newInsectSprays$count[newInsectSprays$spray == "C"],
        col="lightgray", xaxt="n")
mtext(c("Apple\nSauce", "Banana\n", "Candy\n"), 
      1, 2, at=axTicks(1))

构建自定义 x 轴。我们可能希望避免使用空格,并将 \n 也添加到其他字符串的末尾,以获得更清晰的结果。

boxplot(count ~ spray, data=InsectSprays, col="lightgray", xaxt="n")
axis(1, axTicks(1), labels=F)
mtext(c("Apple\nSauce", "Banana\n", "Candy\n", "Dandelion\n", "Eve\n", "Fox\n"), 
      1, 2, at=axTicks(1))

编辑:

spray 是一个因子列,不再需要一个因子,我会做 drolevels.

newInsectSprays <- InsectSprays[1:60,]
boxplot(count ~ spray, data=transform(newInsectSprays, spray=droplevels(spray)), 
        col="lightgray", xaxt="n")
mtext(c("Apple\nSauce", "Banana\n", "Candy\n", "Dandelion\n", "Eve\n"), 
      1, 2, at=axTicks(1))

编辑2

boxplot(count ~ droplevels(spray), 
        newInsectSprays[newInsectSprays$spray %in% c("A", "B", "C"), ], 
        xaxt="n", xlab="spray")
mtext(c("Apple\nSauce", "Banana\n", "Candy\n"), 1, 2, at=1:3)