Как использовать ggplot для рисования полос, окрашенных в разные категории

#r #ggplot2

#r #ggplot2

Вопрос:

У меня есть следующие данные:

        id variable value
1   11149   a      500
2      91   b      1000
3   43233   a      500
4   42499   c      10
5  163993   c      30
  

Я хотел бы нарисовать столбчатую диаграмму с идентификатором как x, суммой значений как y, и каждая полоса будет заполнена другой цветовой группой по переменной.

Я написал код как

 ggplot(data2,aes(id,value)) 
  geom_bar(aes(fill=variable),stat="identity")
  

Это плохо работает и выдает предупреждение как

 Warning message:
position_stack requires constant width: output may be incorrect  
  

Ответ №1:

Попробуйте преобразовать id в коэффициент:

 ggplot(data2, aes(factor(id), value))  
  geom_bar(aes(fill=variable), stat="identity")