在格子 xyplot 上添加标签

发布于 2024-11-18 15:03:50 字数 596 浏览 4 评论 0原文

我已经创建了一个带有点阵的 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 分成组,基本上每个点都在不同的组中团体?还有其他方法吗?

I have created a xyplot with lattice

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)

Now I want to add a label (text) for each dot. The info is in

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

I have tried with no success the following

panel.text(x=X2, y=X1, names)

or, using directlabels

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

but I don't like it much because I had to split into groups using group=names, basically each dot is in a different group? Is there another way to do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

煮茶煮酒煮时光 2024-11-25 15:03:50

您可以尝试定义一个新的面板函数:

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)
            })

You can try defining a new panel function:

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)
            })
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文