ggplot实现分页画图

Python019

ggplot实现分页画图,第1张

一般分页绘图可以用par(nfrow()),但是这一方法在ggplot2中并不适用,ggplot2使用facet把数据按分类进行画图

对一个变量进行分类

要想通过单个变量对图进行分面,可以使用函数 facet_wrap()。其第一个参数是一个公 式,创建公式的方式是在 ~ 符号后面加一个变量名

可以设置行列个数:如按照Petal.Width设置成三行

对二个变量进行分类

要想通过两个变量对图进行分面,需要在绘图命令中加入函数 facet_grid()。这个函数的 第一个参数也是一个公式,但该公式包含由 ~ 隔开的两个变量名。

欢迎关注!

由于有较多组的样品需要比较,图片皆为小提琴图,因此需要将多个样品的小提琴图放在一张图上面比较,比如下图:

这里用于画图的数据皆来自科学网 lyao222lll 的个人博客,这里画分页图主要用的数据为alpha1,数据结构如下:

参数说明:

strip.text:主要调整标题大小或者颜色。

strip.background:标题的背景颜色,可以选择颜色或者调整边框颜色。

strip.text.y或者strip.text.x:调整x轴或者y轴标题。示范画图只有x轴,因此如果设置为element_blank(),将不显示标题。

scales :是分页画图中非常重要的一个命令,如果是scales = 'free',则表明每一副图将根据各自的数据调整图的内容,但是如果这样的话,各个图的坐标轴将不一样,如果想要将各个图的坐标设置一样,将不能设置free,该参数可以对某个坐标轴进行设定,其值可以等于 'free_x'和'free_x'。

参考博客:ggplot2画分面图

官方参数说明:Wrap a 1d ribbon of panels into 2d

facet_wrap分页画图一些参数微调说明

plot_grid简单的说明示范