0

我正在使用“beeswarm”包,并想在我的观点后面绘制一个 abline。下面的代码将在我的点上绘制线。

library(beeswarm)
testdf<-data.frame(a=c(1,1,1,2,2,2,3,3,3),b=c(1,2,3,1,4,6,1,3,4))
beeswarm(b ~ a,data=testdf,col="red",bg="red",pch=21)
abline(3,0)

我知道这个问题已经回答了仅使用基础 R 的绘图(例如这里:How do I draw gridlines using abline() that are behind the data?),但是当应用于我的数据时,这些解决方案只创建两个带有一个abline 和一个与 beeswarm 情节。

在此先感谢您的帮助!

4

2 回答 2

1

您可以beeswarm使用参数在末尾添加第二个调用add = TRUE

我在这个例子中把点放大了,这样你就可以清楚地看到它们绘制在abline

library(beeswarm)
testdf<-data.frame(a=c(1,1,1,2,2,2,3,3,3),b=c(1,2,3,1,4,6,1,3,4))
beeswarm(b ~ a,data=testdf,col="red",bg="red",pch=21, cex = 5)
abline(3,0)
beeswarm(b ~ a,data=testdf,col="red",bg="red",pch=21, cex = 5, add = TRUE)

在此处输入图像描述

于 2020-05-14T22:32:21.937 回答
1

abline将调用传递给函数panel.firstbeeswarm



library(beeswarm)

testdf<-data.frame(a=c(1,1,1,2,2,2,3,3,3),b=c(1,2,3,1,4,6,1,3,4))

beeswarm(b ~ a,data=testdf,col="red",bg="red",pch=21, panel.first = abline(3,0))

reprex 包(v0.3.0)于 2020-05-14 创建

于 2020-05-14T22:36:26.970 回答