【发布时间】:2013-11-21 16:12:21
【问题描述】:
很明显How to label panels in lattice 使用panel.text 或ltext 参数。但是,如果我想为 lattice 中的每个面板使用不同的唯一标签怎么办?让我用这个简化的Dotplot 来说明我的观点:
library(Hmisc)
#example data
data <- data.frame(transport=rep(c("bicycle","bus"),each=2),
att=rep(c("behaviour control","intention"),2),
value=c(4.134,4.5,3.77,2.4), Lo=c(3.92,4.37,3.51,2.2),
Hi=c(4.34,4.62,4.02,2.61))
#labels I want to use
labels.hi=c("likely","easy")
labels.lo=c("unlikely","difficult")
#example dotplot
png("test.png",width=300, height=400)
Dotplot(transport ~ Cbind(value, Lo, Hi) | att, data, col=1,
panel = function(x, y,...) {
panel.Dotplot(x, y,...)
ltext(2.5,1.5, labels=labels.lo)
ltext(4.5,1.5, labels=labels.hi)
})
dev.off()
这段代码给了我下面的情节:
上面的面板有一个正确的标签(“不太可能”和“可能”),但下面的面板只是得到上面面板标签的副本。相反,我想在下面板中绘制剩余的标签(“easy”、“difficult”),但与上面板的位置相同。
我知道我可以为每个标签使用ltext 参数分别定义每个标签,但考虑到我的“现实生活”情节(呵呵)有更多面板和更多不同的独特标签,这是非常不切实际的解决方案。有什么建议么?请只使用格子。
【问题讨论】: