gpt4 book ai didi

r - 使用 position_dodge 时 geom_text 的问题

转载 作者:行者123 更新时间:2023-12-04 05:37:56 25 4
gpt4 key购买 nike

我看到了 this回答但无法复制。

我得到这样的数据:

df = data.frame(x = rep(sample(letters, 4), 2), 
y = round(runif(8,1,100),0),
z = c(rep("group1",4), rep("group2",4)))

# I then add a 'percent' column like so:

df$perc[1:4] = df$y[1:4] / sum(df$y[1:4])
df$perc[5:8] = df$y[5:8] / sum(df$y[5:8])

# Which I then convert like so:
df$perc = paste(round(df$perc * 100, 1), "%", sep="")

# The ggplot:
library(ggplot2)

ggplot(df) +
geom_bar(aes(z, y, fill=x), position="dodge", stat="identity") +
geom_text(aes(z,y,label=perc), position=position_dodge(width=1), size=4)

结果:

enter image description here

我无法弄清楚我做错了什么。

最佳答案

只需一个小改动即可解决问题。您需要指定 group=x在您的 geom_text(aes(...)) 内称呼。

ggplot(df) + 
geom_bar(aes(z, y, fill=x), position=position_dodge(width=1), stat="identity") +
geom_text(aes(z,y,label=perc, group=x), position=position_dodge(width=1), size=4)

enter image description here

关于r - 使用 position_dodge 时 geom_text 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30634148/

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