并非所有计数都出现 geom_text

Not all Counts Appearing with geom_text

我有几个生物体的几个特征的数据集。我通过几个不同的类别单独和组合(例如物种、位置、人口)单独显示每个特征。原始计数和总样本量的百分比以及给定组内的百分比。

当我尝试使用 ggplot 显示组内个人百分比的堆叠条形图时,我的问题就来了。由于这些组中的个体数量不同,我想在各自的条形图上显示具有该特征的个体的原始数量或计数以供上下文参考。我已经设法正确显示堆叠的百分比栏聊天,并从人口最多的组中获取个人数量来显示。我在显示其余组时遇到问题。

ggplot(data=All.k6,aes(x=Second.Dorsal))+
  geom_bar(aes(fill=Species),position="fill")+
  scale_y_continuous(labels=scales::percent)+
  labs(x="Number of Second Dorsal Spines",y="Percentage of Individuals within Species",title="Second Dorsal Spines")+
  geom_text(aes(label=..count..),stat='count',position=position_fill(vjust=0.5))

您需要包含 group= 美学,以便 position_fill 知道如何定位事物。在 geom_bar 中,您设置了 fill= 审美,因此 ggplot 假定您也希望 group 符合该审美。在 geom_text 中,它假定该组是您的 x= 美学。在您的情况下,只需在 label= 审美之后添加 group=Species 即可。这是一个例子:

# sample dataset
set.seed(1234)
types <- data.frame(
  x=c('A','A','A','B','B','B','C','C','C'),
  x1=rep(c('aa','bb','cc'),3)
)
df <- rbind(types[sample(1:9,50,replace=TRUE),])

不分组绘图:

ggplot(df, aes(x=x)) +
  geom_bar(aes(fill=x1),position='fill') +
  scale_y_continuous(label=scales::percent) +
  geom_text(aes(label=..count..),stat='count',
    position=position_fill(vjust=0.5))

情节符合group=审美:

ggplot(df, aes(x=x)) +
  geom_bar(aes(fill=x1),position='fill') +
  scale_y_continuous(label=scales::percent) +
  geom_text(aes(label=..count..,group=x1),stat='count',
    position=position_fill(vjust=0.5))