R 添加用于图例或轴的几何点总数

R 添加用于图例或轴的几何点总数,r,ggplot2,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<- ggp

我知道这方面有很多问题,但我发现的那些问题似乎不适合我。 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
ds您可以使用
table()
统计每个类别的数据点。然后,可以将这些数字添加到x轴标签向量中:

tab <- table(ds$groupage)
x_labs <- paste0(c("67-72 yo", "73-77 yo", "78-84 yo"), " (n=", tab, ")")

您的示例数据在哪里?我不太明白您想要什么。在x轴上,是否要注释绘制的点数?或者该类别的数据框中的行数(从某种意义上说,是由实际绘制的点表示的点的数量)?你想让这个传奇怎么样?它已经告诉你,有多少点是由哪个点大小表示的。这不是你想要的吗?那是什么?我编辑了这篇文章来回答你的问题。stat_sum()给出了绘图中每个圆的数量,但我想知道绘图中还有多少个要显示的总点。感谢您的回答:)它似乎可以工作,只是结果绘图被放大了,我再也看不到X轴了:/(在RStudio中使用R3.2.3)这个问题只有在我添加scale_x_离散选项时才会出现。我也在使用R3.2.3和RStudio,我无法重现这个问题。您是否尝试过使用干净的R会话(即,删除工作区并重新启动R)?当您使用
ggsave(“plot.png”)
存储图像时,图像是否也进行了缩放?很抱歉回答得太晚。我不知道为什么会发生这样的事,但现在它已经很好地表现出来了。只有一件事,是否可以排除计数中缺失的值(groupage或moneyearned中缺失的值)?对于图例,我更改了长度(na.omit(MoneyEarn))的总和(tab),因为groupeage中没有缺少的值。感谢您的耐心和帮助:)最后,我创建了一个新的数据集
ds3对不起,我没有回答之前的问题。使用
subset()
这种方法是不必要的,因为它什么都不做。保留所有行并同时选择两列,因此
子集(ds,select=c(groupage,moneyowned))
实际上与
ds
相同。只是
ds3
ggplot(ds, aes(x=groupage, y=moneyearned)) + 
  geom_point() + stat_sum() +
  scale_x_discrete(breaks=1:3,labels=x_labs) +
  guides(size = guide_legend(paste0("n = ", sum(tab))))