這很清楚How to label panels in lattice使用panel.text
或ltext
參數。但是,如果我想爲格子中的每個面板使用不同的獨特標籤,該怎麼辦?讓我來說明這個簡單的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()
此代碼給我下面的情節:
上面板得到一個正確的標籤(「不可能」和「可能」) ,但下面板只是複製了上面的面板標籤。相反,我想繪製下面板中剩餘的標籤(「簡單」,「困難」),但與上面的面板位於同一位置。
我知道我可以分別使用每個標籤的ltext
參數來定義每個標籤,但考慮到我的「真實生活」情節(heh)有更多面板和更多不同的獨特標籤,這是非常不切實際的解決方案。有什麼建議麼?格子只請。
是的,確切地說。我有同樣的想法,儘管我傾向於將每個數據包標籤放在一個列表中,並由'packet.number()'索引。如果使用多個條件變量,我可以通過'which.packet()'將標籤保存在一個'matrix(list())'或'array(list())'對象中。 –
我不確定我是否還可以欣賞列表矩陣相對於字符元素矩陣(或數組)的優點。 –
不確定*有多大優勢,儘管如果某些數據包所包含的內部標籤數量不同,列表*會更好。但是,真的,我只是在敘述我的想法,並指出儘管我們的想法非常類似,但有一種(稍微)替代方法。 –