我嘗試在具有多個面板的格子條形圖中爲條形添加標籤。我結束了太多的標籤(每個標籤都在每個面板中)。向格子條形圖中的面板添加文本
這裏是我的代碼:
library(lattice)
data(iris)
barchart(seq(1,50) ~ Petal.Width + Petal.Length | Species, data = iris, stack = TRUE,
panel=function(x, y, ...) {
panel.barchart(x, y, ...);
ltext(x=iris$Petal.Width/2, y=y, labels=iris$Petal.Width, cex = 0.5);
ltext(x=iris$Petal.Width + iris$Petal.Length/2, y=y, labels=iris$Petal.Width, cex = 0.5);
}
)
我將如何做到這一點嗎?
獎金的問題:
在它旁邊的預期,我覺得我的代碼是不是太有效率(特別是seq(1,50)
和Petal.Width + Petal.Length
)不起作用。有沒有更好的辦法?
謝謝!
的這裏的基本問題是如何使用'lattice'將標籤放在堆積的條形圖上。這是在這裏回答:http://stackoverflow.com/q/3220702/602276 – Andrie
嗯,也許我不明白,但我的問題不是「如何把標籤放在堆積的條形圖」,但「如何使標籤匹配它們所屬的面板「。 這個問題是否真的在你關聯的線程中得到了回答? – speendo
是的,它確實是同樣的問題。爲了證明這一點,我在下面使用面板函數的簡化版本提供了一個答案(但是其核心思想是相同的 - 計算每個「y」的'x'的累積和)。 HTH。 – Andrie