You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将R中sjPlot::plot_model生成的单图曲线置于同一行?

解决plot_model生成子图同行展示的问题

你的代码里因为设置了grid=T,同时terms参数包含第三个分组变量rip.,所以生成了多张子图的分面布局。要把这些子图放在同一行,直接在现有代码后面加上ggplot的分面调整即可:

修改后的完整代码:

plot1 <- plot_model(m3, 
                    type = "pred", 
                    terms = c("anno", "dimensione_capoluogo", "rip."),
                    colors = c("grey80", "grey60", "black"),
                    grid = T,  # 保留分面逻辑
                    ci.lvl = NA, # 移除置信区间
                    axis.title = c("anno", "percentuale pop attiva"),
                    title = "Stima longitudinale di popolazione attiva",
                    legend.title = "dimensione\ncapoluogo",
                    grid.breaks = 10) +
  scale_x_continuous(breaks = seq(2001, 2023, by = 2)) + 
  geom_line() +
  facet_wrap(~rip., nrow = 1)  # 关键:强制所有子图排成1行

plot(plot1)

原理说明:

  • plot_model生成的是ggplot对象,所以可以直接叠加ggplot的图层调整函数
  • facet_wrap(~rip., nrow=1)会把所有按rip.分组的子图强制放在同一行,自动适配宽度
  • 如果你的rip.分组数量较多,可通过theme()里的aspect.ratio参数,或者导出图片时设置宽度来调整显示效果

内容的提问来源于stack exchange,提问作者Brex Led

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 20:50:14