如何使用ggplot2在条形图中排列y轴

时间:2017-09-01 11:48:09

标签: r ggplot2

我有一个以下数据框,我试图绘制条形图。

country <- c('AUD','USD','GBP','ROW','EUR')
count <- c(58, 28, 8, 4, 2)
data <- data.frame(country, count)

    ggplot(data = data , aes(x = 'COUNTRY', y = reorder(count, -count), fill = country))+
  geom_bar(stat = "identity")+ 
  xlab("COUNTRY")+
  ylab("TOTAL")+
  theme_minimal()+
  geom_text(aes(label = country), vjust = -0.5, size = 3)+
  scale_fill_brewer(palette="Paired")+
  theme(legend.position = "bottom",
        legend.title = element_blank())

此代码生成的图表没有按顺序排列轴和点标签。 它生成下面的情节。

enter image description here

我需要帮助来重新排列此轴并计算标签。

1 个答案:

答案 0 :(得分:1)

我不太清楚你想要输出的样子。这样的事情会好吗?

ggplot(data = data , aes(x = 'COUNTRY', y = count, 
                         fill = reorder(country, count)))+
  geom_bar(stat = "identity")+ 
  xlab("COUNTRY")+
  ylab("TOTAL")+
  theme_minimal()+
  geom_text(aes(label = sprintf("%s (%d)", country, count), 
                y = cumsum(count) - 0.5*count), size = 3)+
  scale_fill_brewer(palette="Paired")+
  theme(legend.position = "bottom",
        legend.title = element_blank())