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 = wrap_3),
9 title = "设置点的:透明度,颜色大小;线的:颜色,线宽;字的:字型,颜色,尺寸"
10 )
11
2.5
自定义主题
1library(GGally)
2library(ggplot2)
3library(showtext)
4
5# 添加字体
6windowsFonts(YaHei_rontine = windowsFont("微软雅黑"))
7font_add("YaHei_rontine", regular = "msyh.ttc", bold = "msyhbd.ttc")
8
9wrap_1 <- wrap(ggally_points, size = 5, color = "magenta", alpha = 0.3)
10wrap_2 <- wrap(ggally_densityDiag, size = 2, color = "lightgreen")
11wrap_3 <- wrap(ggally_cor, size = 8, color = "pink", fontface = "bold")
12
13gg_1 <- ggpairs(iris, 1:3,
14 lower = list(continuous = wrap_1),
15 diag = list(continuous = wrap_2),</