Я хочу построить несколько диаграмм рядом друг с другом (например, в столбцах) и записать их в один файл 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()
Это не идеально. Это дает мне матрицу диаграмм для всех свойств mtcars
. Но ось Y всегда устанавливается на максимум наибольшего значения всех свойств.
Я хочу, чтобы ось Y имела оптимальный диапазон для каждого свойства.
Другое дело, как построить разные таблицы в одном файле:
df1 <- as.data.table(mtcars)[, 1]
df1$obs <- seq_len(df1[,.N])
df2 <- as.data.table(mtcars)[, 2]
df2$obs <- seq_len(df2[,.N])
g1 <- ggplot(data = df1)
g1 <- g1 + aes(x = df1[, obs], y = df1[, mpg])
g1 + geom_line()
g2 <- ggplot(data = df2)
g2 <- g2 + aes(x = df2[, obs], y = df2[, cyl])
g2 + geom_line()
Как мне расположить свои участки? Я не хочу, чтобы они были изображены на одной диаграмме. У них должны быть свои топоры и титулы.