SjPlot - изменить цвета линии графика на черный / белый

Я строю регрессионную модель с помощью 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 Спасибо!!

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
1 270
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Параметры темы изменяют внешний вид сеток, меток осей и т. д., Но нет геометрии (например, точек или линий). Поэтому вы можете использовать аргумент 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")

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

Спасибо за супербыстрый ответ.

MKS.bln 04.10.2018 17:22

Он установил мои линии в оттенки серого или ч / б, соответственно. Однако в ч / б он автоматически не различал типы линий (у меня есть две разные линии, изначально синяя и красная), например, с одной сплошной, одной пунктирной линией, как вы указываете в виньетках. Я попытался добавить аргумент linetype = c(1,2) к plot_model(), но это не помогло. Есть ли способ вручную настроить тип линий?

MKS.bln 04.10.2018 17:28

Я добавил рабочий пример. Не уверен, что именно у вас не работает, может можно подать вопрос? Если вы хотите изменить типы линий

Daniel 05.10.2018 10:08

Параметр colors = "bw" - это все, что мне нужно для преобразования цвета темы в черно-белый.

Aryo 16.10.2019 06:02

Другие вопросы по теме