Цветная гистограмма в R на основе фиксированного масштаба

#r #dataframe #bar-chart

#r #фрейм данных #гистограмма

Вопрос:

У меня есть фрейм данных в R с тремя столбцами, label указывает метку оси x, values будет указывать высоту столбика для гистограммы и color значение. Например:

     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
  

Я хотел бы создать гистограмму значений, в которой столбцы окрашены значением в столбце color. Цветовой столбец всегда находится в диапазоне от 0 до 1, и я хотел бы сделать дискретные цвета, от зеленого до красного спектра, для ячеек 0-0.05, 0-0.1, etc. , а затем я хотел бы иметь легенду, связанную с гистограммой. Для случаев NA я бы хотел, чтобы на графике было просто пустое место без полосы.

Как бы мне это сделать?

Ответ №1:

Я бы посоветовал вам использовать ggplot2 библиотеку:

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

aes параметр определяет отображение в geom_bar, использование fill = color которого будет заполнять полосы на основе color столбца в вашем фрейме данных (установка параметра color изменит контур полос, а не заливку). Параметр stat вне aes определяет, вычисляет ли geom_bar гистограмму или гистограмму.