GGally - ggpairs的意外行为(...,diag = list(continuous ='density'))

时间:2013-11-19 19:07:55

标签: r ggplot2 ggally

我正在尝试使用对角线中的密度图生成散点图矩阵(最好使用ggplot)。 GGally包中ggpairs的文档说明:

  

diag是一个列表,可能只包含变量'continuous'和   “离散”。 diag列表的每个元素都是实现的   以下选项:continuous =恰好其中一个('density','bar',   '空白'); discrete =恰好其中一个('bar','blank')。

表明(??)这应该可以使用diag=list(continuous="density")

但是以下代码:

xx <- mtcars[,c(1,3,4,6)]   ## extract mpg, disp, hp, and wt from mtcars
library(GGally)
ggpairs(xx,diag=list(continuous="density"))

给出了这个:

我做错了什么?

注意:尝试用plotmatrix(xx)做同样的事情就是这样:

失败,因为密度图显然是使用基于完整数据集(xx)的范围在每个对角线面上缩放,而不是基于适当方面的子集xx的范围。因此,第二行(disp)看起来很好,因为disp具有最大范围,但第1行和第4行是嘎吱作响。

1 个答案:

答案 0 :(得分:11)

所以我终于通过研究一个不同的问题here来解决这个问题。事实证明,除非axisLabels设置为"show",否则对角线上的密度图将被抑制,而不会发出警告。

xx <- mtcars[,c(1,3,4,6)]   ## extract mpg, disp, hp, and wt from mtcars
library(GGally)
ggpairs(xx, diag=list(continuous="density"), axisLabels='show')

按预期产生此效果: