2016-10-12 2 views
0

J'ai une trame de données dans R avec trois colonnes, label indique l'étiquette de l'axe des x, values indiquerait la hauteur de la barre pour un barplot, et une valeur color. Par exemple:Barplot de couleur dans R basé sur une échelle fixe

label  value  color 
1 Label1 0.9645477 0.434680035 
2 Label2 1.0816859 0.070992644 
3 Label3 1.0043559 0.923586653 
4 Label4 1.0065987 0.884469520 
5 Label5  NA   NA 
6 Label6 0.9537397 0.307786218 

Je voudrais faire un terrain bar des valeurs où les barres sont colorées par la valeur dans la colonne de couleur. La colonne de couleur va toujours de 0 à 1 et j'aimerais faire des couleurs discrètes, sur un spectre vert à rouge, pour les bacs 0-0.05, 0-0.1, etc. Et puis j'aimerais avoir une légende associée au barplot. Pour les cas de NA, j'aimerais qu'il y ait juste un endroit vide sur le terrain sans bar.

Comment puis-je faire cela?

Répondre

0

Je vous suggère d'utiliser la bibliothèque ggplot2:

library(ggplot2) 
ggplot(dataframe) + geom_bar(aes(x=label, y = value, fill = color), stat = "identity") 

le paramètre aes définit le mappage au sein geom_bar, en utilisant fill = color remplira les barres à base de la colonne color dans votre dataframe (réglage du paramètre de couleur va changer le contour des barres, pas le remplissage). Le paramètre stat en dehors de aes définit si geom_bar calcule un histogramme ou un histogramme.