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 轴上,即:考虑到分组 gp
和 x
,应在 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
,此处不需要。)
我有一个数据集,其值 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 轴上,即:考虑到分组 gp
和 x
,应在 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
,此处不需要。)