2016-03-23 90 views
1

我希望問題能夠正確發佈。這可能是微不足道的,但我仍然無法回答。我查了幾個選項,其中包含的信息包含here,但沒有發財。也許,我仍然不習慣Lattice命令,或者這個問題實際上並不相關。將曲線添加到晶格條形圖

我會用曲線重疊條形圖,比如(假設)正常的標準分佈曲線或數據的密度分佈。

請考慮以下的數據作爲例如,表示幾種模輥的結果:

e11 <- data.frame(freq = rep(seq(1, 6, 1), c(53, 46, 42, 65, 47, 44))) 

plot_e11 <- barchart(e11, 
      horizontal = FALSE, 
      type = "density", 
      main = "Die results frequencies", 
      panel = function(x, ...){ 
        panel.barchart(x, ...) 
        panel.abline(densityplot(e11$freq))}) 
print(plot_e11a) 

它返回正常條形圖而不是預期的結果。

normal barchart

如何,我可以添加一個曲線的條形圖,如一個在下面的例子嗎?

plot_e11b <- densityplot(e11$freq, 
        plot.points = FALSE) 

density plot

回答

1

panel.abline是錯誤的面板功能。

panel.abline添加形式爲y = a + b * x的線或垂直線和/或水平線。

densityplot(e11$freq, 
      panel=function(x, ...) { 
       tab <- table(x) 
       panel.barchart(names(tab), tab/length(x), 
          horizontal=FALSE)    
       panel.densityplot(x, plot.points=FALSE)}, 
      ylim=c(0, 0.3)) 

lattice plot

+0

它完美。 'panel.density()'接受第二行嗎?例如,爲了創建'e11 $ freq'的分佈和正態曲線之間的比較? – Worice

+1

您可以使用'panel.mathdensity()'添加一條正常曲線。 – rcs

+0

非常感謝。 – Worice