sjPlot - изменить цвет линий графика на черный / белый - PullRequest
0 голосов
/ 04 октября 2018

Я строю регрессионную модель с помощью 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, что здесь, похоже, не так.Есть идеи, где ошибка?Может быть, я наблюдаю за чем-то очень простым?

edit: я использую R версии 3.5.0 и Rstudio версии 1.1.383 Спасибо !!

1 Ответ

0 голосов
/ 04 октября 2018

Опции темы изменяют внешний вид сеток, меток осей и т. Д., Но не геомов (например, точек или линий).Поэтому вы можете использовать colors -аргумент в plot_model().Есть несколько примеров в этой виньетке .Я думаю, что решение для вас будет:

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")

enter image description here

plot_model(fit, type = "pred", terms = c("neg_c_7", "c172code", "c161sex"), colors = "gs")

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...