【发布时间】:2016-11-30 12:02:44
【问题描述】:
我正在做一个贝叶斯建模,我有 8 个变量,每个变量都有一个相关参数,每对变量都有一个相关参数。所有这些参数都有其后验密度图。我想将这些图安排在上三角布局中,我使用了来自 Upper triangle layout
但是,如果我能以与散点图相同的方式对图进行标题/标记,那就更好了,即我只会在顶部和右侧有标题(变量名),并通过检查每个子图的顶部和右侧都有相应的标题,人们就会知道相关参数代表什么。
这是我实现的最小示例,我只使用了 3 个变量进行说明。
require(ggplot2)
corr_1 = rnorm(100)
corr_2 = rnorm(100)
corr_12 = rnorm(100)
corr_list = list(corr_1, corr_2, corr_12)
ttls = c('variance within variable 1',
'correlation within variable 1 & 2',
'variance within variable 2')
plots = list()
for(i in 1:3){
temp_df = data.frame(x=corr_list[[i]])
temp = ggplot(data=temp_df, aes(x=x)) +
geom_density()+
ggtitle(ttls[i])
plots[[i]] = temp
}
library(gridExtra) ## for grid.arrange()
library(grid)
ng <- nullGrob()
grid.arrange(plots[[1]], plots[[2]],
ng, plots[[3]])
所以我想要的不是明确说明相关性的含义,而是在图的顶部添加标签。我应该在顶部有标题“variable1”和“variable2”,在图的右侧,我垂直有标题“variable1”和“variable2”,就像散点图一样。
但是,不同的是,我的地块要求非对角线部分都是密度图,并且所有的密度图都是独立的,即数据不依赖于其他变量,就像我最小的例子一样,我有独立的存储在列表中的图(在成对散点图中,每个子图使用一个变量作为 x,一个作为 y)。
【问题讨论】: