GGPLOT2,geom_bar,躲闪,酒吧秩序GGPLOT2,geom_bar,躲闪,酒吧秩序(g

2019-05-12 08:29发布

我想躲闪已经下令巴geom_bar 。 你知道该如何处理呢?

我的代码:

ttt <- data.frame(typ=rep(c("main", "boks", "cuk"), 2),
                  klaster=rep(c("1", "2"), 3),
                  ile=c(5, 4, 6, 1, 8, 7))

ggplot()+
    geom_bar(data=ttt, aes(x=klaster, y=ile, fill=typ),
             stat="identity", color="black", position="dodge")

和示例图,以便更好地理解这个问题:

是)我有的:

我想有:

Answer 1:

一种选择是做一个新的变量来表示吧应该是每个组内,并添加这个变量作为顺序group在情节的说法。

办法使变量的那个任务很多,这是一个使用功能从dplyr的方式。 新的变量是基于排名ile在每个内降序klaster基。 如果您有任何联系组你要弄清楚你想在这种情况下,(应该吧在给定的领带什么顺序?)做什么。 您可能需要设置ties.method在争论rank从默认了,大概是"first""random"

library(dplyr)
ttt = ttt %>% 
    group_by(klaster) %>% 
    mutate(position = rank(-ile))
ttt
Source: local data frame [6 x 5]
Groups: klaster [2]

     typ klaster   ile  rank position
  (fctr)  (fctr) (dbl) (dbl)    (dbl)
1   main       1     5     3        3
2   boks       2     4     2        2
3    cuk       1     6     2        2
4   main       2     1     3        3
5   boks       1     8     1        1
6    cuk       2     7     1        1

现在,只需添加group = position到你的阴谋代码。

ggplot() +
    geom_bar(data=ttt, aes(x=klaster, y=ile, fill=typ, group = position),
                     stat="identity", color="black", position="dodge")



文章来源: ggplot2, geom_bar, dodge, order of bars