gpt4 book ai didi

r - 将文本变量添加到 ggplot 条形图中的每个条形簇

转载 作者:行者123 更新时间:2023-12-02 08:55:32 27 4
gpt4 key购买 nike

我有一些这样的数据:

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”)

如您所见,我正在尝试绘制“速率”变量。但我还想将“users”变量的值放在条形的右侧。它看起来像这样:

sample plot

所以我的问题是,如何获得那里的用户数量?我想也许 geom_label 可以做到这一点,但我不知道如何将标签的坐标与集群联系起来。

而且,虽然上面的示例没有显示这一点,但如果用户数量最多的集群位于顶部,而其余的则从那里下降,我会很兴奋。

最佳答案

这是使用 geom_text 的方法:

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_text(data=subset(df, variable=="users"),
aes(x=site, y=40,
label=paste("(", value ,"\n", variable, ")", sep = "")))

enter image description here

关于r - 将文本变量添加到 ggplot 条形图中的每个条形簇,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35327154/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com