R lattice:考虑分组将文本添加到 x 轴上的散点图

R lattice: add text to a scatterplot on x-axis considering grouping

我有一个数据集,其值 y 在两个日期 x 两个组 gp。另外,对于这些值中的每一个,我都有一个数字 n ,我想在 x 轴上添加它。这是生成数据和图形的代码:

set.seed(1234)
data0 <- expand.grid(gp = c("A","B")
                  , x = 1:2
                  )
data0$y <- round(runif(4),2)
data0$n <- round(100*runif(4),0)
data0

#   gp x    y  n
# 1  A 1 0.11 86
# 2  B 1 0.62 64
# 3  A 2 0.61  1
# 4  B 2 0.62 23

xyplot(y ~ x | gp, data=data0
       , panel = function(...) {
           panel.xyplot(...)
           panel.text(1,0.1,86)
           panel.text(2,0.1,64)           
       }
       )

这是下图:

我希望正确的 n 在 x 轴上,即:考虑到分组 gpx,应在 x 轴上添加 n。 知道如何应对吗?

您可以使用 subscripts 来跟踪面板功能中的每一行。

xyplot(y ~ x | gp, data=data0,#subscripts=TRUE,
       panel = function(x,y,subscripts,...) {
           panel.xyplot(x,y,...)
           panel.text(data0$x[subscripts],0.1,data0$n[subscripts])
       }
)

您可能需要调整放置文本的位置 (y=0.1) 以避免几乎过度绘制数据。

(编辑:注释掉 subscripts=TRUE,此处不需要。)