多重图的新纪元-cowplot

说说这两天的新发现-cowplot包,一个在CRAN上的新包,对于其好用的功能且听我细细道来
对于R的众多coder来说,郁闷的莫过于不知道该用哪个包来解决手上的问题,但是最郁闷的莫过于知道用哪个包了却不知道怎么用,其实对于cowplot来说由于发布的时间比较新所以中文的相关文档很少,在这我就作为一个贡献者提供些commits,哈哈哈哈。

display0 : 给ggplot图添加grid

这是新鲜刚画出的图,背景blank
no_grid
在用到background_grid(major = "xy",minor = "none")
之后,背景加上了grid,其中major = “xy”是给x和y轴方向添加grid,可以只添加水平或者垂直的grid,只要输入x或者y就行

grid

display1 : 给ggplot图添加label

label
在多图的情况下,给图加label就尤为重要了,这能让每个图更加凸显和容易识别
plot_grid(test_01, test_02, labels = c("Pic_01", "Pic_02"))
这次用到的是labels这个参数,已向量的形式给图命名

display2 : 给ggplot图layout

还是在多图的情况下,图的排列就尤为重要,以前R中会用到grid.arrange(),但是这次cowplot提供了好用的plot_grid()
具体参数如下
plot_grid(test_01, NULL,test_02, NULL, labels = c("Pic01", "Pic03", "Pic03", "Pic04"), ncol = 2)
label
但是这个时候图与图之间的坐标轴没有对齐,会非常难看,也会看起来不专业
在加入align后
plot_grid(test_01, NULL,test_02, NULL, labels = c("Pic01", "Pic03", "Pic03", "Pic04"), align = "v", ncol = 2)

label

display3 : 给ggplot图加水印

图画出来了,可以在必要时刻添加水印,不仅为了防止盗图的,而且还凸显图的比较和分类
draw_label("Live's chart" , angle = 45, size = 80, alpha = .1)
label
总体来说,cowplot的思想和ggplot2的思想还是比较相近的,在图的pannel上添加层来达到绘图的目的,而且易用性远超之前的方式。