作者:李誉辉
四川大学在读研究生
接上一篇:GGally与pairs相关关系图_史上最全(一)
2.4
wrap()封装
其它需要指定到geom_xxx()
中的参数,可以通过wrap()
传递给lower
,upper
, 或diag
。
语法:
1wrap(funcVal, ..., funcArgName = deparse(substitute(funcVal)))
2wrapp(funcVal, params = NULL, funcArgName = deparse(substitute(funcVal)))
解释:
wrap()
为参数传递,wrapp()
为列表传递。funcVal
, 表示需要见参数传递给什么类型的对象,
如ggally_points
或"points"
则将参数传递给散点图;ggally_facetdensity
或"facetdensity"
则将参数传递给分面密度图。...
,params
,表示要传递的参数,都是geom_xxx()
中的参数,
如alpha
,size
,binwidth
。
1library(GGally)
2library(ggplot2)
3diamonds.samp <- diamonds[sample(1:dim(diamonds)[1], 1000), ]
4
5# 下面是plots超过15个,为16个,所以默认产生进度条
6ggpairs(
7 diamonds.samp[, c(1:2,5,7)],
8 mapping = aes(color = cut),
9 diag = list(
10 continuous = wrap("densityDiag",alpha = 0.5)), # 给对角线的密度图增加透明度参数
11 title = "wrap()传递透明度参数给对角线上的密度图"
12)
13
1require(GGally)
2data(tips, package="reshape")
3g1 <-
4 ggpairs(data = tips, mapping = aes(colour = sex),
5 lower = list(
6 continuous = wrap(ggally_points, alpha = 0.5), # 增加透明度参数
7 combo = wrap("facethist", binwidth = 0.5) # 增加柱子宽度参数
8 ),
9 diag = list(
10 continuous = wrap(ggally_densityDiag, alpha = 0.5) # 增加透明度参数
11 ),
12 title="下三角散点图增加透明度,直方图设置宽度,对角线面积图增加透明度"
13 )
14g1
15
1wrap_1 <- wrap(ggally_points, size = 5, color = "magenta", alpha = 0.3)
2wrap_2 <- wrap(ggally_densityDiag, size = 2, color = "lightgreen")
3wrap_3 <- wrap(ggally_cor, size = 8, color = "pink", fontface = "bold")
4
5ggpairs(iris, 1:3,
6 lower = list(continuous = wrap_1),
7 diag = list(continuous = wrap_2),
8 upper = list(continuous =