在同一面板上绘制多个直方图

4

我正在尝试在同一个面板中绘制数据框中多个变量的多个直方图。以下是一些代码:

 library(lattice) 
 dd <- data.frame(gp = factor(rep(paste('Group', 1:6, sep = ''), each = 
 100)), x = rnorm(600)) 
 histogram( ~ x | gp, data = dd) 
 histogram( ~ x | gp, data = dd, as.table = TRUE) 

这是将数据x放入1至6组中。在给定的数据框中,我们已经有了特定类别的数字。例如,假设我想在同一面板上绘制身高、体重和平均血压(数据框中的变量)的直方图。如何在不形成新的数据集和1到3组的情况下完成此操作?

1个回答

8
这里不需要重新整理数据。
 histogram( ~ height +age +weight ,data = dd) 

你可以使用 layout 来改变面板的显示顺序。例如:
 histogram( ~ height +age +weight ,layout=c(1,3),data = dd) 

这将在3个面板中产生3个直方图。
编辑:
要添加标题,可以使用main
histogram( ~ height +age +weight ,layout=c(1,3),data = dd,
            main='PLEASE READ LATTICE HELP')    

顺便提一下:设置参数在不同的格函数之间是共享的。例如,xlab的输入:参见xyplot。当您查看xyplot帮助时,可以阅读:

main:
Typically a character string or expression describing the main 
       title to be placed on top of each page. Defaults to NULL

这是假设列名为身高、年龄和体重的情况吗? - proton
有没有办法给直方图添加标题? - proton
谢谢。帮助页面中的直方图函数没有主选项。 - proton
1
这似乎不是对原问题的回答,原问题询问如何将两个直方图放在同一面板中。这正确吗?我从未见过在lattice绘图中以这种方式使用+,也不知道它的含义。如果不知道数据应该是什么样子,很难测试这个提议。我使用OP的方法创建了一个包含第三列的数据框,并得到了奇怪的结果。 - Mars

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接