2017-04-19 186 views
1

我有一个数据集,我很感兴趣,看在测试的得分和人经历事件的百分比:添加逗号geom_text标签在ggplot

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

我可以用百分比绘制它和分数是这样的:

library(ggplot2) 
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

不过,我似乎无法弄清楚如何在分数加逗号。这不起作用像我想的那样:

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

enter image description here

谢谢您的帮助!

回答

1

数字中的逗号令人困惑frac

你可以看到简单的

geom_text(aes(label = "frac(1,000, 2,000)"), parse = TRUE) 

enter image description here

我们需要使用内frac字符以获得所需的输出问题。如果在语句周围使用双引号,则可以围绕值使用单引号。

geom_text(aes(label = "frac('1,000', '2,000')"), parse = TRUE) 

enter image description here

所以,你可以换单引号内的comma报表为标签的frac部分。

geom_text(aes(label = paste0("frac('", comma(dat$n.event), "','", 
          comma(dat$n.total), "')")), parse = TRUE) 

整个语句应该

geom_text(aes(label = paste0(dat$percentage, "*\'%\'~", "frac('", comma(dat$n.event), 
          "','", comma(dat$n.total), "')")), parse = TRUE) 
+0

非常酷!这说得通。谢谢! –