在包sjPlot :: plot_model()中定义y轴范围和中断

时间:2019-05-28 17:14:47

标签: r

我正在用sjplot包和R中的plot_model(max.m3)函数绘制我的GlmmTMB模型的结果。这是代码:

p=sjPlot::plot_model(max.m3, type="pred", grid = F)

这是绘制的六个图形。但是,我想定义y轴范围(从0到10)并显示中断(0,5,10 =以便刻度线出现在0、5和10处)。

不幸的是,我没有找到解决方案。

1 个答案:

答案 0 :(得分:0)

如果为所有模型项绘制边际效应,则plot_model()返回ggplot对象的列表。然后,您只需使用ggplot-commands即可修改列表中的每个图。

m <- lm(mpg ~ hp + gear + cyl + drat, data = mtcars)
p <- sjPlot::plot_model(m, type = "pred", grid = FALSE)
p[[1]] + scale_y_continuous(limits = c(15, 30), breaks = c(15, 25, 30))
p[[2]] + scale_y_continuous(limits = c(5, 40), breaks = c(15, 25, 40))
...

如果您想对所有绘图应用相同的y-limits和breaks,则可以遍历列表,例如:

library(ggplot2)
m <- lm(mpg ~ hp + gear + cyl + drat, data = mtcars)
p <- sjPlot::plot_model(m, type = "pred", grid = FALSE)
lapply(p, function(i) i + scale_y_continuous(limits = c(15, 30), breaks = c(15, 25, 30)))