写在前面,本文介绍的是grid包函数在ggplot2作图时的用处。由于要手动调整要素位置,要是你的需求是要业务化的作图,这篇文章可能没什么帮助。
本次记录的是一个很神奇的需求,有3张数据来源完全不同,theme什么的一大堆设置都调好的ggplot:
(原图比这个复杂多了,是三个group的累积直方图,这是我简单造的数据。)
这个需求就是要把这三张图拼起来,然后共用一个x跟y轴,让他们变成一张图。
数据来源完全不同,也就是说不能把数据合并然后用分面函数简单作图,这里只能用拼图工具了。
首先进行一些准备,包括统一坐标轴刻度范围、只保留最左侧图的y轴、修改坐标轴标签等。
> pacman::p_load(data.table, magrittr, ggplot2, ggthemr, cowplot, stringr, dplyr)
> library(grid)
> library(patchwork)
>
> set.seed(8)
>
> raw<-data.frame(type = rep(c('type1','type2'),6),
+ period = rep(c('period1','period2','period3