【问题标题】:Add text to individual facets in ggplot将文本添加到 ggplot 中的各个方面
【发布时间】:2014-10-14 22:15:39
【问题描述】:

我想知道如何将不同的文本放在各个方面。我想使用annotate 或geom_text() 添加文本inside 我知道其中有重复的帖子,但我没有设法让它正确.这是我的数据:

Experiment         FC           Pairing
Meister et al. -2.74236520      yes
Meister et al. -0.7436354       no
Meister et al. -2.74236520      yes
Meister et al. -0.73536354      no
daub et al.    -0.64246768      yes
daub et al.    -0.6663321       no
daub et al.    -0.64246768      yes
daub et al.    -0.6663321       no
hans et al.    -2.32230716      yes
hans et al.    -0.49423279      no
hans et al.    -2.32723716      yes
hans et al.    -0.4944279       no

ggplot(combined_pos1,aes(Pairing,FC,fill=as.factor(Pairing))) + 
      geom_boxplot(fill = "grey90") +  coord_cartesian(ylim=c(-3,3)) + 
      facet_grid(~Experiment)

【问题讨论】:

  • 这个方法你试过了吗stackoverflow.com/questions/11889625/…
  • 您是说要更改每个方面的条形标签中的文本(当前显示“Meister et al.”、“Daub et al.”等),还是您是说你想在每个方面的绘图区域内放置文本注释?
  • 建议:使用dput的输出以可重现的形式发布您的数据
  • @eipi10 是的,我想在图中添加文本作为注释。每个方面都有一个独特的文本。

标签: r ggplot2


【解决方案1】:

为每个方面创建注释(这里作为 Meister 和 Hans 的示例):

combined_pos1$annotations = c("Text for Meister",rep("",10),"Text for hans")

包括geom_text:

g = ggplot(combined_pos1,aes(Pairing,FC,fill=as.factor(Pairing))) + geom_boxplot(fill = "grey90") +  coord_cartesian(ylim=c(-3,3)) + facet_grid(~Experiment)
g = g + geom_text(aes(x=2.5,y=2.5,label=annotations))
g

这会产生以下结果:

【讨论】:

  • @BioMan 这明显是重复的,答案在 cmets 里给你了但你没看。
  • @baptiste 抱歉,如果我错过了 cmets 中的某些内容。
  • 如果要将文本添加到多行,请确保文本 data.frame 中的 colnames() 与您将要绘制的数据匹配。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 1970-01-01
  • 1970-01-01
  • 2019-09-19
  • 1970-01-01
相关资源
最近更新 更多