Add labels on lattice xyplot

匿名 (未验证) 提交于 2019-12-03 03:02:02

问题:

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?

回答1:

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


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!