添加用于图例或轴的geom_point总数

时间:2016-03-03 15:30:08

标签: r ggplot2

我知道有很多问题,但我找到的似乎并没有为我做的工作。 我在X轴上有一个分类变量,在Y轴上有连续。

我试图在图例(或图的上角)中添加geom_point中使用的点总数,并在其轴标签下添加每个类别的点数。 这是我的ggplot代码,带有示例数据:

ds <- data.frame(groupage = sample(c(1,2,3),2000, replace=TRUE), moneyearned = sample(20,replace = TRUE))
p<- ggplot(ds, aes(x=groupage, y=moneyearned)) +geom_point() + stat_sum() + scale_x_discrete(breaks=1:3,labels=c("67-72 yo", "73-77 yo", "78-84 yo"))
p

例如,在2000年的观察中,如果类别1中有573个,类别2中有784个,类别3中有636个,缺失值为7个,我希望在图例中显示“n = 2000-missings”(或图的上角),“n = 573”,“n = 784”,“n = 636”,在X轴上显示各自的类别标签。

对于我找不到的某些帖子的任何帮助或参考将不胜感激:)

1 个答案:

答案 0 :(得分:2)

您可以使用<script type = 'text/javascript'> var data = {{json|safe}} data[0]["fields"].ATTRIBUTE </script> 计算每个类别的数据点。然后,您可以将这些数字添加到x轴标签的矢量中:

table()
然后在tab <- table(ds$groupage) x_labs <- paste0(c("67-72 yo", "73-77 yo", "78-84 yo"), " (n=", tab, ")") 中使用

x_labs。图例实际上是尺寸美学,因此您可以使用scale_x_discrete()来设置标题:

labs(size = "title")

enter image description here