我正在用sjPlot的plot_model()
绘制回归模型。我想将线条颜色从sjPlot主题(红线和蓝线)更改为黑白或灰度。但是,当我使用set_theme(theme_bw())
时,绘图外观不会改变(theme_bw
来自ggplot2,根据我在键入函数时看到的下拉菜单显示)。
但是,当我选择可用的sjPlot主题之一(theme_538
,theme_blank
,theme_sjplot
和theme_sjplot2
)时,图的外观确实发生了变化,这些主题都使线条变为红色&蓝色,但是更改绘图背景,所以我认为该功能正确。
如何为我的情节使用bw或gs主题或手动将线条颜色设置为黑白?
library(ggplot2)
library(sjPlot)
library(sjmisc)
#set_theme(theme_bw()) # this does not change the plot appearance
set_theme(theme_538()) # this does change the plot background appearance
M <- glm(DV ~ IV1 + IV2 + IV3 + IV1*IV2*IV3, data = data5, family = quasibinomial("logit"))
p <- plot_model(M, type = "pred", terms = c("IV1", "IV2", "IV3 [-1,0,1]"), theme = theme_get())
p
ps:根据我在网上找到的sjPlot资源,应该有比我看到的更多的sjPlot主题。真奇怪此外,我读到set_theme()
函数应该与ggplot2主题一起使用,在这里似乎不是这样。任何错误的想法在哪里?也许我正在监督一些非常简单的事情?
编辑:我正在使用R版本3.5.0和Rstudio版本1.1.383 谢谢!!
答案 0 :(得分:0)
主题选项更改网格和轴标签等的外观,但更改几何图形(如点或线)的外观,而不。因此,您可以使用colors
中的plot_model()
参数。有一些示例in this vignettes。我想适合您的解决方案是:
plot_model(M, type = "pred", terms = c("IV1", "IV2", "IV3 [-1,0,1]"), colors = "gs")
或
plot_model(M, type = "pred", terms = c("IV1", "IV2", "IV3 [-1,0,1]"), colors = "bw")
library(sjPlot)
data(efc)
fit <- lm(barthtot ~ c12hour + neg_c_7 * c161sex * c172code, data = efc)
plot_model(fit, type = "pred", terms = c("neg_c_7", "c172code", "c161sex"), colors = "bw")
plot_model(fit, type = "pred", terms = c("neg_c_7", "c172code", "c161sex"), colors = "gs")