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

问题描述 投票:1回答:1

我正在尝试绘制包含交互作用的模型的预测值。我想将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

r ggplot2 plot predict sjplot
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.