我想在格子中的 xyplot 中的每个面板中添加不同的文本。
res<- xyplot(CumSpec ~ CumTotal | Site, data=data1, index.cond=list(c(1,2,3)),layout = c(3,1,1), aspect = 1,
axis=axis.overlap, origin=0, xlab="Total number of individuals", ylab="Total number of species",
between = list(x = 0),
scales=list(tick.number = 8, cex = .9, x=list(alternating=1), x=list(rot=90)),
par.settings = my.settings,
par.strip.text=list(col="white", font=2),
panel = function(x, y) {
panel.xyplot(x, y)
panel.abline(lm(y ~ x), lwd = 0.5, lty=2)
panel.text(400, 4.6, label="R=0.334", font=1)
})
res
我曾尝试使用 panel.text 但它将标签添加到每个面板。有谁知道如何实现这一目标?您的帮助将不胜感激。
最佳答案
您想要的基本策略是首先提出一个字符向量,其中向量中的每个元素都是您想要在特定面板上显示的文本。然后你可以使用panel.number()
函数为每个面板选择字符向量的不同元素。这是一个简单的例子:
library(lattice)
X<-rnorm(100)
Y<-rnorm(100)
Z<-c(rep("A",50),rep("B",50))
df1<-data.frame(X,Y,Z)
MyText<-c("Panel 1 Text", "Panel 2 Text")
xyplot(X~Y|Z, data=df1,
panel=function(x, y,...){
panel.xyplot(x,y,...)
panel.text(0,0,labels=MyText[panel.number()]) }
)
您可以将此策略用于您想要在面板之间更改的任何内容(例如标签、颜色、
pch
值等的 x 和 y 位置)。
关于r - 如何为格子中的每个面板添加不同的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23780154/