sjPlot交互plot_model。如何在主要网格线之间绘制图形,如何编辑图形以获得视觉吸引力

时间:2019-11-26 09:53:31

标签: r ggplot2 plot predict sjplot

我正在尝试绘制包含交互作用的模型的预测值。我想将x轴值(因子)的位置移到更靠近图形中心的位置。当前使用sjPlot,plot_model()函数,并且我尝试使用grid.breaks=,但这仅适用于数字值。此外,我尝试的所有值似乎仅沿主要网格线绘制。有没有办法在主要的网格线之间绘制?另外,是否可以在ggplot2中执行此操作? TIA

library("sjPlot")
data("mtcars")
mtcars$gear <- factor(mtcars$gear)
mtcars <- subset(mtcars,!gear=="3")
mtcars$gear <- factor(mtcars$gear)
levels(mtcars$gear)
m_gear <- lm(mpg ~ gear*wt, data = mtcars)
plot_model(m_gear, type = "int", grid.breaks = 0.5)

graph output

1 个答案:

答案 0 :(得分:0)

您可以使用coord_cartesian。当您有因子时,它们在x轴上的编码为1,2,因此设置超出该范围的限制将为您提供所需的条件,请参阅:

plot_model(m_gear, type = "int") + coord_cartesian(expand = TRUE,xlim=c(0,3))

enter image description here

plot_model(m_gear, type = "int") + coord_cartesian(expand = TRUE,xlim=c(0.5,2.5))

enter image description here