【发布时间】:2016-02-11 06:46:14
【问题描述】:
我有一些这样的数据:
site <- c('twitter', 'facebook', 'gplus')
bouncerate <- c(35, 29, 17)
conversionrate <- c(20, 30, 32)
users <- c(350, 800, 42)
df <- data.frame(site, bouncerate, conversionrate, users) %>% melt()
我是这样画的:
ggplot(subset(df, variable!='users'), aes(x=site, y=value)) +
geom_bar(stat="identity", aes(fill=variable), position="dodge") +
coord_flip() +
scale_fill_brewer(palette = "Set1”)
如您所见,我正在尝试绘制“速率”变量。但我还想将“用户”变量的值放在栏的右侧。它看起来像这样:
所以我的问题是,我如何获得这些用户数?我想也许 geom_label 可以做到这一点,但我看不到如何将标签的坐标与集群联系起来。
而且,虽然上面的示例没有显示,但如果用户数量最多的集群位于顶部,其余的则从那里下降,我会很高兴。
【问题讨论】:
-
排序条(相当于排序你的轴)是an r-faq。只需使用
reorder()重新排序您的因子。 -
太棒了!我会努力的。我只是澄清了这个问题的文字,以确保我的主要问题是明确的。
-
展示您的尝试也可能很好 - 就个人而言,我会用我想要绘制的数据构建一个数据框(一个名为
site的因子与您的数据中的级别相同,并且名为label的列,其中包含您要添加的文本)并使用geom_text。