我正在尝试使用对角线中的密度图生成散点图矩阵(最好使用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行是嘎吱作响。
答案 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')
按预期产生此效果: