gpt4 book ai didi

r - 如何向 ggplot geom_text 标签添加百分比和分数?

转载 作者:行者123 更新时间:2023-12-02 05:17:30 33 4
gpt4 key购买 nike

我有一个数据集,我有兴趣查看测试分数以及经历事件的人数百分比:

dat <- data.frame(score = 1:7,
n.event = c(263,5177,3599,21399,16228,10345,1452),
n.total = c(877,15725,13453,51226,32147,26393,7875),
percentage = c(30,33,27,42,50,39,18))

我可以用图表上的百分比来绘制它,如下所示:

ggplot(data=dat, aes(x=score, y=percentage)) +
geom_line() +
geom_text(aes(label = paste0(dat$percentage,"%")))

enter image description here

或者我可以用这样的分数来绘制它:

ggplot(data=dat, aes(x=score, y=percentage)) +
geom_line() +
geom_text(aes(label = paste0("frac(",dat$n.event, ",", dat$n.total,
")")),parse = TRUE)

enter image description here

但我想让他们两个并排。这不起作用:

ggplot(data=dat, aes(x=score, y=percentage)) +
geom_line() +
geom_text(aes(label = paste0(dat$percentage,"%","frac(",dat$n.event,
",", dat$n.total, ")")),parse = TRUE)

我收到此错误:

解析错误(text = as.character(lab)) : :1:3: 意外输入1: 30%压裂(263,877) ^

感谢您的帮助!

最佳答案

问题是 parse=True 告诉 geom_text 使用 R 数学注释(在 ?plotmath 中描述)。在此注释中,% 是必须转义的特殊符号,并且空格也会被忽略。

为了使 % 和公式的其余部分保持一致,我们必须使用 '%' 将其转义,并使用 将其连接到前一个单词>*,并在使用~后添加一个空格。结果是:

ggplot(data=dat, aes(x=score, y=percentage)) +
geom_line() +
geom_text(aes(label = paste0(dat$percentage,"*\'%\'~","frac(",dat$n.event,
",", dat$n.total, ")")),parse = TRUE)

enter image description here

关于r - 如何向 ggplot geom_text 标签添加百分比和分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43415217/

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