在R中移除Boxplot()函数的框架

11

请问有人知道如何在使用R的boxplot()函数绘制箱线图时去除边框吗?

使用plot()函数时,可以使用一个可选参数frame=F来完成此操作... 但是在boxplot()函数中没有包括该参数...

非常感谢!


因此,请将代码复制到您自己的本地“marcoBoxplot()”中并进行相应修改。 - Dirk Eddelbuettel
2
@Dirk,这一次我们不能说RTFM了,因为在那个FM中甚至没有提到frame的使用... - Joris Meys
4个回答

17

在箱线图函数中使用选项frame=F(或frame.plot=F):

boxplot(count ~ spray, data = InsectSprays, col = "lightgray",frame=F)

boxplot()函数中可以使用的其他参数(相当不方便)在?bxp的帮助页面上列出,这是boxplot()的基础函数。


5
您可以使用btypar中完成此操作。以下是来自boxplot帮助文档的示例:
par(bty='n')
boxplot(count ~ spray, data = InsectSprays, col = "lightgray")

@Marco:为什么不直接使用参数框架(请参见Chases和我的答案)?如果你不知道自己在做什么,当你搞乱par()时,会遇到严重的问题,因为它设置的是一般参数,而不是特定图形的参数。 - Joris Meys
@Joris Meys:是的,你说得对,我应该使用参数frame。谢谢。 - Marco
1
然而,par和bty的优点之一是不仅能够去除框架,还可以选择要去除哪些框架边缘。例如,par(bty='l')将仅去除框架的顶部和右侧部分,我认为这比par(bty='n')或frame=false制作出更好看的箱线图。 - ZombiePlan37

4

boxplot() 看起来可以很好地接受 frame 参数。

 boxplot(count ~ spray, data = InsectSprays, col = "lightgray")
 #vs    
 boxplot(count ~ spray, data = InsectSprays, col = "lightgray", frame = FALSE)

是的,你说得对 :-S 我不知道为什么以前没能让它工作... 对于那个愚蠢的帖子我很抱歉! - Marco

0

这里有最简单的解决方案。只需将轴设置为0

boxplot(runif(100), axes = 0)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接