changer ggplot facteur de couleurs?
Je note qu'ici, Boîte et moustaches de la parcelle l'appel:
p + geom_boxplot(aes(fill = factor(cyl)))
génère lumineux rouge/vert/bleu couleurs pour les boxplots de remplissage, tandis que:
p + geom_boxplot(aes(fill = factor(vs)))
Génère une nette de couleur vert pâle/rouge de couleurs. Dans mes données, j'obtiens le second jeu de couleurs, mais nous voudrions que la première série (comme dans
p + geom_boxplot(aes(fill = factor(cyl)))
ce qui contrôle le jeu de couleurs ggplot utilise et comment pouvez-vous modifier?
Grâce
Vous devez vous connecter pour publier un commentaire.
Les couleurs par défaut sont régulièrement espacés de teintes autour de la roue de couleur. Vous pouvez le vérifier comment il est généré à partir de ici.
Vous pouvez utiliser
scale_fill_manual
avec ces couleurs:Ici, j'ai utilisé
ggplot_build(p)$data
decyl
pour obtenir les couleurs.Alternativement, vous pouvez utiliser une autre palette ainsi comme suit:
Et de trouver les couleurs de la palette, vous pouvez le faire:
Vérifiez l'emballage pour connaître les palettes et d'autres options, si vous êtes intéressé.
Edit: @user248237dfsf, comme je l'ai déjà souligné dans le lien au dessus, cette fonction à partir de @Andrie montre les couleurs générées:
Si vous regardez les deux couleurs généré, le premier est la même, mais le second, la couleur n'est pas la même, lorsque n=2 et n=3. C'est parce qu'il génère des couleurs de uniformément espacés teintes. Si vous voulez utiliser les couleurs pour
cyl
pourvs
, alors vous aurez à définirscale_fill_manual
et l'utilisation de ces couleurs généré avec n=3 à partir de cette fonction.Pour vérifier que c'est bien ce qui se passe, vous pouvez faire:
Maintenant, si vous n':
Vous voyez que ce sont les couleurs qui sont générées à l'aide de
ggplotColours
et la raison de cette différence est également évident. J'espère que cette aide.Ajoutant aux précédentes réponses:
Lors de l'utilisation de la
col
esthétique (au lieu defill
), l'utilisationscale_color_manual
. Ceci est utile pourgeom_point()
: