Как построить набор данных, содержащий число, используя пакет ggplot и brewer? - PullRequest
0 голосов
/ 08 сентября 2018

Ниже приведен мой набор данных

feature_user <- data.frame (Features = c("Battery","Build_Design", "Camera","Connectivity","Delivery", 
                                         "Design", "Display", "Gaming_Experience", "Performance", 
                                         "Post_Usage", "Protection", "Recommendation", "Sound", "Value_Money"), 
                            Users = c(852, 89, 471, 96, 228, 143, 131, 18, 379, 354, 35, 271, 99, 510))

Я пытаюсь нанести на график данные, используя следующий код

library(ggplot2)

ggplot(feature_user, aes(x = reorder(Features, Users), y = Users)) + 
  geom_bar(stat = "identity", position = "dodge") + 
  scale_fill_brewer(palette = "Set1") + 
  coord_flip() + 
  ggtitle("Most Talked Feature by Users") +
  ylab("No of Users") + 
  xlab("Features") 

Но проблема в том, что я не получаю вывод в соответствии с цветовым кодом, упомянутым в scale_fill_brewer. Вместо этого я получаю простые серые столбцы. Я не уверен, в чем проблема. Пожалуйста, помогите

1 Ответ

0 голосов
/ 08 сентября 2018

Вам нужно добавить fill внутри aes вашего geom

library(ggplot2)      

ggplot(feature_user,aes(x=reorder(Features,Users),y=Users)) + 
  geom_col(stat='identity', aes(fill=Features), width=.5)+
  coord_flip() +
  ggtitle("Most Talked Feature by Users") +ylab("No of Users") + xlab("Features")

Результат составит

enter image description here

Но, добавив:

scale_fill_brewer(palette = "Set1") +

, он портится с результатом.и некоторые столбцы не представлены.

...