Changer les couleurs de particulier bars dans un graphique à barres
J'ai été la création de certains bar-charts et je me demandais est-il possible de barres de couleur sur un tableau selon qu'ils se situent au-dessus ou au-dessous de l'axe des x?
Pour plus de précisions, c'est le type de graphique que je veux dire:
Idéalement, je voudrais être en mesure de la couleur des barres au-dessus d'une couleur distincte de ceux ci-dessous de sorte que le graphique a l'air plus attrayant, j'ai cherché mais je ne trouve pas de méthode de le faire, quelqu'un peut-il aider?
Merci à l'avance. 🙂
OriginalL'auteur George Burrows | 2012-10-28
Vous devez vous connecter pour publier un commentaire.
Y a une stratégie:
Si vous voulez plus de deux fondées sur la valeur des couleurs, vous pouvez utiliser une stratégie similaire (à l'aide de
findInterval()
en lieu et place de la simple logique de test):OriginalL'auteur Josh O'Brien
Un
ggplot2
solution à l'aide degeom_bar
avecstat_identity
.scale_fill_discrete(guide = 'none')
supprime la légende,position = 'dodge'
cesse de l'avertissement qui vient du défautposition = 'stack'
.comment puis-je utiliser des couleurs comme le vôtre dans barplot(t(comme.matrice(mydf)), à côté=TRUE, col=chaleur.couleurs(3)) ? Merci
OriginalL'auteur mnel
Une façon est d'indexer un vecteur de couleurs avec un ou logique facteur variable (c'est un idiome commun dans R.
L'astuce ici est
pos
:qui nous contraindre numérique dans le
barplot()
appel:Le vecteur de
1
s et2
s sélectionne les éléments du vecteur de couleurcols
, tels que:qui est la couleur de passé sur chaque barre dessinée.
Dans le code ci-dessus j'ai aussi la frontière de la des bars à la couleur, via argument
border
.L'résultant de l'intrigue devrait ressembler à ceci
OriginalL'auteur Gavin Simpson
J'ai trouvé cette page en cherchant de l'aide sur la couleur des barres individuelles dans un graphique à barre en fonction d'un facteur. Je ne pouvais pas trouver de toute autre source d'information, mais grâce à cette page, est venu avec cette:
cols <- ifelse(df$Pays == "Groenland", "vert","bleu")
Elle obtient ensuite passé dans barplot de la manière habituelle, comme décrit ci-dessus:
barplot(x, col = cols)
OriginalL'auteur AJGL