免费 space 并在 ggplot 方面进行缩放
Free space and scales in ggplot facets
我对具有自由尺度(因为不同方面组的单位不同)和可变方面宽度或高度(因为不同方面在其中绘制了不同数量的观察值)的方面图感兴趣。目前,我能够实现其中一个目标,但不能同时实现这两个目标。这是一个最小的例子:
library(tidyverse)
sample_data <- data.frame(outcome = rep(letters[1:6], 2),
value = rep(c(1:2, 100*1:4), 2),
units = rep(c("days", "days", "pax", "pax", "pax", "pax"), 2),
year = rep(2020:2021, each = 6))
p <- ggplot(sample_data, aes(x = outcome, y = value)) + geom_col() + coord_flip()
使用 facet_grid
和 space = "free"
选项,我能够获得可变的小平面尺寸:
p + facet_grid(units~year, scales = "free", space = "free")
使用 facet_wrap
和 scales = "free"
选项,我可以获得变量单位。
p + facet_wrap(units~year, scales = "free")
知道如何获得可变刻面尺寸和自由刻度(最好使用 facet_grid 的刻面头结构)吗?
您可以使用 ggh4x::facet_grid2()
中的 independent
参数来实现此目的。请注意,您不能在同一维度上同时拥有自由轴和独立尺度。
library(tidyverse)
sample_data <- data.frame(outcome = rep(letters[1:6], 2),
value = rep(c(1:2, 100*1:4), 2),
units = rep(c("days", "days", "pax", "pax", "pax", "pax"), 2),
year = rep(2020:2021, each = 6))
ggplot(sample_data, aes(x = value, y = outcome)) +
geom_col() +
ggh4x::facet_grid2(
units ~ year,
scales = "free", space = "free_y",
independent = "x"
)
由 reprex package (v2.0.1)
于 2022 年 1 月 18 日创建
免责声明:我写了 ggh4x。
我对具有自由尺度(因为不同方面组的单位不同)和可变方面宽度或高度(因为不同方面在其中绘制了不同数量的观察值)的方面图感兴趣。目前,我能够实现其中一个目标,但不能同时实现这两个目标。这是一个最小的例子:
library(tidyverse)
sample_data <- data.frame(outcome = rep(letters[1:6], 2),
value = rep(c(1:2, 100*1:4), 2),
units = rep(c("days", "days", "pax", "pax", "pax", "pax"), 2),
year = rep(2020:2021, each = 6))
p <- ggplot(sample_data, aes(x = outcome, y = value)) + geom_col() + coord_flip()
使用 facet_grid
和 space = "free"
选项,我能够获得可变的小平面尺寸:
p + facet_grid(units~year, scales = "free", space = "free")
使用 facet_wrap
和 scales = "free"
选项,我可以获得变量单位。
p + facet_wrap(units~year, scales = "free")
知道如何获得可变刻面尺寸和自由刻度(最好使用 facet_grid 的刻面头结构)吗?
您可以使用 ggh4x::facet_grid2()
中的 independent
参数来实现此目的。请注意,您不能在同一维度上同时拥有自由轴和独立尺度。
library(tidyverse)
sample_data <- data.frame(outcome = rep(letters[1:6], 2),
value = rep(c(1:2, 100*1:4), 2),
units = rep(c("days", "days", "pax", "pax", "pax", "pax"), 2),
year = rep(2020:2021, each = 6))
ggplot(sample_data, aes(x = value, y = outcome)) +
geom_col() +
ggh4x::facet_grid2(
units ~ year,
scales = "free", space = "free_y",
independent = "x"
)
由 reprex package (v2.0.1)
于 2022 年 1 月 18 日创建免责声明:我写了 ggh4x。