如何在格子中标记面板

时间:2011-12-14 16:46:52

标签: r lattice

这是一个简单的问题,你肯定已经遇到过,但是让我头疼不已......

我有一个这样的数据框:

set.seed(3)
mydata <- data.frame(var = rnorm(100,20,1),
                     temp = sin(sort(rep(c(1:10),10))),
                     subj = as.factor(rep(c(1:10),5)))

我需要为每个subj做一个散点图,不是问题,而是...... 我想要的是从格子中替换条带并为每个图形添加标签。 我设法使用以下代码执行此操作,但我仍然不满意......

xyplot(var ~ temp | subj, 
       data = mydata,
       strip=FALSE,
       panel = function(x, y,...) {
               panel.xyplot(x, y,...)
               panel.text(1,21,labels=which.packet())
               }) 

最后一点......我在哪里堆叠...是如何在每个面板中打印字母而不是数字。我想把面板称为a,b,c ......等等。

任何建议...... 非常感谢 matteo

1 个答案:

答案 0 :(得分:9)

你几乎得到了它。如果您需要字母,请使用letters索引panel.number()

xyplot(var ~ temp | subj, 
   data = mydata,
   strip=FALSE,
   panel = function(x, y,...) {
           panel.xyplot(x, y,...)
           panel.text(1,21,labels=letters[panel.number()])
           }) 

您还可以在面板函数中定义另一个字符向量,并使用此索引模式。