R 在ggplot2中以不同比例绘制多个图表

R 在ggplot2中以不同比例绘制多个图表,r,ggplot2,R,Ggplot2,我想将一些图表并排绘制(例如列),并将它们写入一个png文件。在graphics::plot中,它与layout(…)一起工作,但是如何在ggplot2中排列图表 有什么我可以做的方面 例如: require(cars) require(data.table) require(tidyr) df <- as.data.table(mtcars) df$obs <- seq_len(df[,.N]) df <- as.data.table(pivot_longer(data

我想将一些图表并排绘制(例如列),并将它们写入一个png文件。在
graphics::plot
中,它与
layout(…)
一起工作,但是如何在
ggplot2
中排列图表

有什么我可以做的方面

例如:

require(cars)
require(data.table)
require(tidyr)

df <- as.data.table(mtcars)
df$obs <- seq_len(df[,.N])

df <- as.data.table(pivot_longer(data = df, names_to = "name", values_to = "val", cols = names(df[, !"obs"])))
df[, name := as.factor(name)]

library(ggplot2)
g <- ggplot(data = df)
g <- g + aes(x = df[, obs], y = df[, val])
g + facet_wrap(df[, name]) + geom_line()

我如何安排我的情节?我不希望它们被绘制在同一个图表中。它们应该有自己的轴和标题。

只需使用
scales=“free”
选项释放您的刻度

g + facet_wrap(df[, name], scales="free") + geom_line()


对于第二个问题,您可能需要参考以下答案:

R软件包
patchwork
gridExtra
似乎就是您要寻找的。对于
patchwork
,请检查此页面:我不选择从非CRAN源安装文件(公司限制)。两者都是CRAN源。
g + facet_wrap(df[, name], scales="free") + geom_line()