【问题标题】:ggplot2 box_plot add number of observationsggplot2 box_plot 添加观察次数
【发布时间】:2020-12-07 22:54:38
【问题描述】:

我有这个问题应该是微不足道的,但到目前为止我看到的例子都没有帮助。我在 R 中有这个融化的数据框,我想用 geom_points 做一个 box_plot。到目前为止,代码有效。

 head(df3)
  microRNAs        variable     value
1 geneA      LC1_average_TPM   520075.23
2 geneB      LC1_average_TPM   315802.96
3 geneC      LC1_average_TPM   13356.56
4 geneD      LC1_average_TPM   13348.82
5 geneE      LC1_average_TPM   13331.13
6 geneF      LC1_average_TPM   13309.27

ggplot(df3, aes(x=variable, y=log(value), fill=variable)) +
    geom_boxplot(aes(fill = variable))+
    geom_point(shape = 21, alpha = 0.9, position=position_jitterdodge(jitter.width = 3, jitter.height = 0)) +
    scale_fill_brewer(palette = "Spectral") +   scale_y_continuous(limits=c(0,15), breaks=seq(0,15,1)) + theme(axis.text.x=element_blank()) + ylab("log2(Expression TPM)") +  xlab ("Libraries")

我的问题是我想在该图中添加观察结果。观察结果取决于每个 df3$variable 有多少数据点。

【问题讨论】:

  • 尝试在您的数据集中添加一个额外的列,例如df3 %>% group_by(variable) %>% mutate(group_n = length(variable)。然后您可以将其与geom_text() 结合使用

标签: r ggplot2


【解决方案1】:

如果您使用 mutate,正如我的评论所建议的那样,它是可行的,但您会重复获得多个 n 值,您需要使用 summarsie 并创建一个单独的表。您将使用data 参数将其添加到geom_text() 调用中。我将您的 data.frame 命名为“df”,但在您的情况下调整为 df3

counts_df <- 
df %>%   
  group_by(variable) %>% 
  summarise(group_n = length(variable)) 
  
df %>% 
  ggplot(aes(x=variable, y=log(value), fill=variable)) +
  geom_boxplot(aes(fill = variable))+
# this is what you want to add < ----  
  geom_text(
    data = counts_df,
    aes(variable, y=10,
                label=group_n))+
  geom_point(shape = 21, alpha = 0.9, position=position_jitterdodge(jitter.width = 3, jitter.height = 0)) +
  scale_fill_brewer(palette = "Spectral") +
  scale_y_continuous(limits=c(0,15), breaks=seq(0,15,1)) +
  theme(axis.text.x=element_blank()) +
  ylab("log2(Expression TPM)") +
  xlab ("Libraries")

产生这个可怕的情节,使用y 参数调整n 的美学和位置。

【讨论】:

  • 完美!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-22
  • 2020-09-03
  • 1970-01-01
  • 2013-03-08
相关资源
最近更新 更多