ggplot2:更改条形的顺序,以便具有较小值的条形图位于具有较大值的条形图的顶部

时间:2017-07-02 08:23:09

标签: r ggplot2

以下是我的数据和图表示例:

m <- c("jun","jun","jul","aug","aug")
a <- c(1,10,2,10,2)
b <- c("x","y","x","x","y")

df <- data.frame(m,a,b)

ggplot(df,
       aes(x=m, y=a, fill=b)) + 
  geom_bar(stat="identity", position = "identity") 

enter image description here

我想在jun栏上显示一个x的值。我希望这些酒吧不是并排在一起。

我最终使用了透明度。但我仍然很好奇他们是否是另一种方式。

2 个答案:

答案 0 :(得分:1)

我要做什么:

ggplot(df, aes(x = m, y = a, fill = b)) + 
  geom_bar(stat = "identity", position = position_dodge(preserve = "single")) 

enter image description here

确保您拥有最新版本的 ggplot2 devtools::install_github("tidyverse/ggplot2")

答案 1 :(得分:0)

使用透明度可以得到我想要的东西:

ggplot(df,
       aes(x=m, y=a, fill=b)) + 
  geom_bar(stat="identity", position = "identity", alpha=0.5)