在Base R绘图的单个箱图中添加水平“分隔”线

一个小男孩

我需要在Base R箱线图中添加“分隔线”以分隔差异组。在下面的示例中,我想使用水平线(红色)分隔A和B组(每个组具有2个级别)。R代码可再现的结果:

dat = data.frame(A1 = rnorm(1000, 0, 1), A2 = rnorm(1000, 1, 2),
                 B1 = rnorm(1000, 0.5, 0.5), B2 = rnorm(1000, 1.5, 1.5))
boxplot(dat, horizontal = T, outline=F)

在此处输入图片说明

在Base R中有简单的方法吗?

另外,是否有一种简便的方法为y轴标签着色?我希望轴上的A1和B1显示为红色,而A2和B2显示为蓝色。

谢谢!

杰伊

使用abline要获得正确的位置,请取axTicksy轴的平均值

要获取彩色标签,请先省略yaxt和重建axis刻度线,然后mtext使用axTicks

b <- boxplot(dat, horizontal=T, outline=F, yaxt="n")
ats <- axTicks(2)
axis(2, labels=F)
mtext(b$names, 2, 1, col=c(2, 4), at=ats)
abline(h=mean(ats), lwd=2, col=2)

在此处输入图片说明

如果要使轴刻度标签颜色与标签相对应,请segments改用。

b <- boxplot(dat, horizontal=T, outline=F, yaxt="n")
ats <- axTicks(2)
abline(h=mean(ats), lwd=2, col=2)
pu <- par()$usr
Map(function(x, y) segments(pu[1] - .2, x, pu[1], x, xpd=T, col=y), ats, c(2, 4))
mtext(b$names, 2, 1, col=c(2, 4), at=ats)

在此处输入图片说明

编辑:要调整空间多一点使用at=选项,boxplot并在中间省略axTicks

b <- boxplot(dat, horizontal=T, outline=F, yaxt="n", at=c(1, 2, 4, 5))
ats <- axTicks(2)[-3]
abline(h=mean(ats), lwd=2, col=2)
pu <- par()$usr
Map(function(x, y) segments(pu[1] - .2, x, pu[1], x, xpd=T, col=y), ats, c(2, 4))
mtext(b$names, 2, 1, col=c(2, 4), at=ats)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中的条形图标签:在绘图区域下方添加水平线

来自分类Dev

Python绘图-向图例添加水平线

来自分类Dev

在R中使用facet_wrap时,将水平线(或文本)添加到单个箱线图中

来自分类Dev

在按钮顶部添加水平分隔线

来自分类Dev

在按钮顶部添加水平分隔线

来自分类Dev

将误差线添加到绘图箱图中的点

来自分类Dev

在箱线图中添加多条水平线

来自分类Dev

如何在散景中的箱形图上添加水平线(`Span`)?

来自分类Dev

在包装项目的行上添加水平线分隔符

来自分类Dev

在元素之间添加水平线

来自分类Dev

角图添加水平线

来自分类Dev

Migradoc添加水平线

来自分类Dev

在元素之间添加水平线

来自分类Dev

想要在条形图中添加水平线和系列值

来自分类Dev

Base R reshape() 与 tidyverse

来自分类Dev

如何在R的heatmap.2中添加水平分隔符

来自分类Dev

如何在某些div下方添加水平线?

来自分类Dev

添加水平线,按因子分组

来自分类Dev

在C#中向图表添加水平线

来自分类Dev

在android小部件中添加水平线

来自分类Dev

TextBlock.Inlines-添加水平线

来自分类Dev

Flutter ListWheelScrollView,如何添加水平线

来自分类Dev

在android小部件中添加水平线

来自分类Dev

在链接元素之前和之后添加水平线

来自分类Dev

添加水平线,按因子分组

来自分类Dev

TextBlock.Inlines-添加水平线

来自分类Dev

python-docx添加水平线

来自分类Dev

使用绘图添加垂直/水平参考线

来自分类Dev

找出 ggplot 和 base R 绘图之间图形差异的原因