2016-03-23 57 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