我正在使用 R 中的
facet_grid
创建一个 ggplot2
绘图。
下面使用
mtcars
数据集可重现的示例。
我想手动更改仅与 4 缸汽车对应的面的 x 轴限制。这是我的最小可重现示例:
library(ggplot2)
library(dplyr)
mtcars <- mtcars %>%
mutate(cyl = as.factor(cyl),
gear = as.factor(gear),
carb = as.factor(carb))
# Plot the empirical CDF with different lines for each carb type, and facet by cyl and gear
ggplot(mtcars, aes(x = mpg, color = carb, linetype = carb)) +
stat_ecdf(geom = "step") +
theme_minimal() +
facet_grid(cyl ~ gear, scales = "free")
我想将
cyl
为 4 的面的 x 轴限制设置为最大值 25,同时保持其他面的 x 轴限制不变。我怎样才能做到这一点?
任何帮助将不胜感激!
您可以使用
ggh4x::facetted_pos_scales
单独设置每个面板的比例,即,为了获得所需的结果,您可以将网格第二列的上限设置为 25,即 gear = 4
,如下所示:
mtcars <- mtcars |>
transform(
cyl = as.factor(cyl),
gear = as.factor(gear),
carb = as.factor(carb)
)
library(ggplot2)
library(ggh4x)
ggplot(mtcars, aes(x = mpg, color = carb, linetype = carb)) +
stat_ecdf(geom = "step") +
theme_minimal() +
facet_grid(cyl ~ gear, scales = "free") +
ggh4x::facetted_pos_scales(
x = list(
gear == 4 ~ scale_x_continuous(
limits = c(NA, 25)
)
)
)