8 votes

Modification du type et de la couleur des lignes avec plot_model()

J'essaie de créer un graphique des valeurs prédites à l'aide de la fonction plot_model() de la fonction sjPlot . I

La fonction comprend un colors et en fixant colors a bw changera linetype mais fixé colors en niveaux de gris. Cette question est similaire, mais n'a reçu aucune réponse utile : Rubans colorés et différents types de lignes dans sjPlot plot_model()

Exemples :

Différents linetypes mais pas colors

data(iris)
toy_model <- lm( Sepal.Length ~ Sepal.Width + Species, data=iris)

my_plot <- plot_model(toy_model, type=("pred"),
terms=c("Sepal.Width","Species"),
colors="bw")

Différents colors mais pas linetypes

data(iris)
toy_model <- lm( Sepal.Length ~ Sepal.Width + Species, data=iris)

my_plot <- plot_model(toy_model, type=("pred"),
terms=c("Sepal.Width","Species"))

Comment puis-je obtenir les deux différents colors et différents linetypes ? En d'autres termes, je veux quelque chose comme ceci

this

7voto

Arienrhod Points 2180

sjPlot semble plutôt rigide lorsqu'il s'agit de personnalisation, mais il existe des moyens de le contourner. Vous pouvez obtenir les données à partir de ggpredict (de ggeffects ) et personnaliser le tracé comme d'habitude dans ggplot .

df <- ggpredict(toy_model, terms = c("Sepal.Width","Species"))
ggplot(df, aes(x, predicted)) + 
    geom_line(aes(linetype=group, color=group)) +
    geom_ribbon(aes(ymin=conf.low, ymax=conf.high, fill=group), alpha=0.15) +
    scale_linetype_manual(values = c("solid", "dashed", "dotted"))

example

5voto

Dominix Points 393

plot_model permet ggplot2 pour ajuster les caractéristiques du tracé. Vous pouvez facilement changer les couleurs ou les types de lignes.

library(sjPlot)
library(ggplot2)

data(iris)
toy_model <- lm( Sepal.Length ~ Sepal.Width + Species, data=iris)

#Use aes to change color or linetype
plot_model(toy_model, type=("pred"),
                      terms=c("Sepal.Width","Species")) + aes(linetype=group, color=group)

#Change color
plot_model(toy_model, type=("pred"),
                      terms=c("Sepal.Width","Species"), colors = "Set2") + aes(linetype=group, color=group)

Entrez la description de l'image ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X