在格子xyplot上添加标签

时间:2011-07-07 06:50:52

标签: r label lattice

我创建了一个带格子的xyplot

library(lattice)
X1=c(5, -2, 1, -3)
X2=X1^2
names=paste("dot", 1:4, sep="")
xyplot(X2~X1, data=data.frame(X1, X2), pch=20, cex=1:4)

现在我想为每个点添加一个标签(文本)。信息在

names=paste("dot", 1:4, sep="")

我试过以下

没有成功
panel.text(x=X2, y=X1, names)

或使用直接标签

library(directlabels)
p=xyplot(X2~X1,data=data.frame(X1, X2), pch=20, group=names, cex=1:4)
direct.label(p,smart.grid,FALSE)

但我不喜欢它,因为我不得不使用group=names拆分成组,基本上每个点都在不同的组中?还有其他办法吗?

1 个答案:

答案 0 :(得分:9)

您可以尝试定义新的面板功能:

xyplot(X2~X1, data=data.frame(X1, X2), pch=20, cex=1:4,
      panel=function(x, y, ...) {
               panel.xyplot(x, y, ...);
               ltext(x=x, y=y, labels=names, pos=1, offset=1, cex=0.8)
            })