首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改`stat_n_text`函数中的值?

如何更改`stat_n_text`函数中的值?
EN

Stack Overflow用户
提问于 2021-10-05 05:05:34
回答 1查看 113关注 0票数 0

在我的数据集中标记smaple大小时,我遇到了以下问题:

代码语言:javascript
复制
library(ggplot2)
library(EnvStats)
library(tidyverse)

cars_pre= mtcars %>% mutate(time="Pre")
cars_post= mtcars %>% mutate(time="Post")

df= rbind(cars_pre,cars_post)
p <- ggplot(df,             aes(x = factor(cyl), y = mpg, fill = time) + 
  theme(legend.position = "none"))

ggplot(df,  aes( factor(cyl),  mpg)) + geom_boxplot(aes(fill = time) ) + 
  stat_n_text()

我的问题是,我有前/后组:但这些是相同的主题,所以当我绘制stat_n_text时,它会使我的样本大小加倍,因为它将前/后样本加在一起(将它们作为单独的主题)。有没有办法更新n,使其值为其值的一半(在图片中,我希望Cyl4、5和6的n分别为11、7和14 )?

EN

回答 1

Stack Overflow用户

发布于 2021-10-05 14:12:21

我想出了以下方法来修改它:通过更改图形数据:

代码语言:javascript
复制
    library(splitstackshape)
    p<-ggplot(df,  aes( factor(cyl),  mpg)) + 
geom_boxplot(aes(fill = time) ) + 
          stat_n_text( )

然后从ggplot对象中提取数据:

代码语言:javascript
复制
    q <- ggplot_build(p)

修改样本量数据标签

代码语言:javascript
复制
    q$data[[2]]= q$data[[2]] %>% cSplit(., 'label', '=') %>% mutate(label=paste0(label_1, "=", label_2/2))

将对象绘制回Q <- ggplot_gtable(q)绘制(Q)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69445147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档