我有一个以下数据框,我试图绘制条形图。
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())
此代码生成的图表没有按顺序排列轴和点标签。 它生成下面的情节。
我需要帮助来重新排列此轴并计算标签。
答案 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())