r - R:ggplot2 使用 facet_wrap 设置中间的最后一个图
问题描述
我正在尝试使用 facet_wrap 创建一些多图。但是,我不确定是否适合我的图表。这是一个简短的可重现示例:
ggplot(airquality, aes(x = Day, y = Temp)) +
facet_wrap(~Month) +
geom_line()
这会在此处生成此图:
是否可以使用 facet_wrap 方法将第二行中的两个图“居中”?请注意,我不想重新排序图,我只想将第二行居中
解决方案
您还可以考虑软件包中的功能set_panel_size
,该功能egg
可让您将多个图的面板尺寸(宽度、高度)设置为绝对测量值,有关更多详细信息,请参阅此小插图。
使用 Axeman 的代码创建绘图
library(egg)
library(gridExtra)
p <- ggplot(mapping = aes(x = Day, y = Temp)) +
facet_wrap(~Month) +
geom_line()
p1 <- p %+% subset(airquality, Month < 8) + labs(x = NULL)
p2 <- p %+% subset(airquality, Month > 7)
现在grid.arrange
在指定面板尺寸后使用
grid.arrange(grobs = lapply(
list(p1, p2),
set_panel_size,
width = unit(5, "cm"),
height = unit(4, "cm")
))
推荐阅读
- c# - ASP.NET 5 表单中的复选框:for-loop 太慢,但是 foreach 没有正确检查
- database - 是否有一个脚本可以规范创建不佳的数据库表?
- python - 使用 IBM Watson Tone Analyzer API 时出现此错误。我该如何解决这个问题?
- javascript - React Native:何时应该在构造函数与 componentDidMount 中调用函数
- python - Split the data frame based on consecutive row values differences
- javascript - 如何访问被锚和循环语句按住的网页
- javascript - 使用 Javascript AddIn 在 OneNote 中插入打印输出
- python - 多个 DF 列的 Sumproduct
- python - 命令被标记为无效
- javascript - 更改 highchart 网络图中每个链接的长度