2017-05-30 1 views
0

En utilisant ggplot2 pour créer un boxplot, j'ai rencontré le problème de devoir spécifier la couleur de la légende.L'affectation des couleurs ggplot2 perd le remplissage et la bordure?

Avant le réglage, chaque boîte avait un centre rempli et une bordure noire Before picture here. Cependant, après avoir ajusté la couleur de la légende, le remplissage est blanc et la bordure est la couleur spécifiée. After picture here Comment pourrais-je obtenir ma couleur spécifiée en tant que remplissage avec une bordure noire?

ggplot(Data.Benin, aes(x=countrycode, y=mortality, color=year)) + 
geom_boxplot(notch=F)+ scale_color_manual(values=c("coral1", 
"darkolivegreen4", "gold4", "deepskyblue2", "darkorchid1"))+labs(x=" ", 
y="Deltamethrin mortality", fill="Year")+theme_gray() 

Merci d'avance.

Répondre

0

color change la couleur de la bordure, ce que vous voulez est fill:

ggplot(Data.Benin, aes(x = countrycode, y = mortality, fill = year)) + 
    geom_boxplot(notch = F) + 
    scale_fill_manual(values = c("coral1", "darkolivegreen4", "gold4", "deepskyblue2", "darkorchid1")) + 
    labs(x = " ", y = "Deltamethrin mortality", fill = "Year") + 
    theme_gray() 

Notez que vous correctement aviez fill = l'intérieur labs mais le titre de la légende de votre parcelle était le minuscule year (il n'a eu aucun effet puisque vous n'a pas défini une esthétique fill).

Dans l'avenir, vous pouvez également inclure des données avec votre question afin que d'autres puissent répliquer votre problème. Voir how to make a great R reproducible example.

+0

Un grand merci pour la réponse, vous m'avez en effet aidé à atteindre la solution que je recherchais. J'ai essayé votre code suggéré et le problème était toujours là, cependant, suivant votre conseil, j'ai également changé scale_color_manual à scale_fill_manual et cela a fonctionné. RE partage de données, je vais lire le poste lié. Merci beaucoup encore! –

+0

@STomo oups oublié de 'scale_color_manual', je suis en train de mettre à jour ma réponse pour incorporer cette correction – Paolo

+0

Pas de problème, votre réponse m'a donné assez pour le comprendre, je l'ai maintenant marqué comme accepté! Merci encore –