使用 geom_text_repel 的图上未显示文本标签

text labels are not showing on plot using geom_text_repel

我正在使用这个在附件中制作情节:

p = ggplot(y2, aes(logFC, -log10(adj.P.Val))) +
    geom_point(aes(col=sig))  +
    theme(
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.background = element_blank(),
        axis.line =   element_line(colour = "black")
    ) +
    scale_color_manual(values=c("gray", "red")) + 
    ggtitle("Response to glucose No_DM, No_PDR and PDR") +
    xlab("log2FC")
p + geom_text_repel(
        data = filter(y2, adj.P.Val<qval.cutoff & abs(logFC) > FC.cutoff),
        aes(label = geneSymbol)
    ) + xlim(-0.3,0.3)
p

问题是红点上的文本标签没有显示。我应该补充一点,使用 geom_text() 会给出相同的结果,而不是红点上的文本标签。

我的数据是这样的:

head(y2)
                  ID geneSymbol                              geneName      logFC  AveExpr         t      P.Value    adj.P.Val         B
1 fSUyR.vR7Xu0iR4nUU      TXNIP       thioredoxin interacting protein  0.2234088 9.541793  8.415327 3.242297e-12 5.047609e-08 17.238861
2 33obrCQopAnZlAmA1Y  HIST1H2AC histone cluster 1 H2A family member c  0.1557544 8.294461     6.818566 2.720443e-09 2.117593e-05 10.960907
3 B.MnES5zlIlJgt51ZU  HIST1H2BJ histone cluster 1 H2B family member j  0.1642828 7.674182  6.495074 1.043064e-08 5.412808e-05  9.704442
4 Ebfrl.7uOZfnjp_E7k       EGR1               early growth response 1 -0.1641590 9.285850 -6.354245 1.864866e-08 6.262890e-05  9.161173
5 iSYLWdWZUIKnYICW4c  HIST1H2BK histone cluster 1 H2B family member k  0.1613979 9.914578  6.278442 2.546608e-08 6.262890e-05  8.869853
6 oB.usjxziFJJd51SUk     CCL4L1   C-C motif chemokine ligand 4 like 1 -0.1720790 9.926583 -6.254667 2.807540e-08 6.262890e-05  8.778649
       sig
1 pval.cutoff
2     Not Sig
3     Not Sig
4     Not Sig
5     Not Sig
6 pval.cutoff


sapply(y2,class)
         ID  geneSymbol    geneName       logFC     AveExpr           t     P.Value   adj.P.Val           B         sig 
"character" "character" "character"   "numeric"   "numeric"   "numeric"   "numeric"   "numeric"   "numeric" "character" 

  1. 您是否检查过 geom_text_repel 中使用的数据,即 data = filter(y2, adj.P.Val<qval.cutoff & abs(logFC) > FC.cutoff),是一个非空 data.frame?

  2. 由于sig映射到颜色美学上,为什么不简单地过滤sig中的值,即filter(y2, sig == "pval.cutoff")?

(: 你最后一次调用 p 显示了没有添加标签的基本图。试试

p <- p + geom_text_repel(
        data = filter(y2, adj.P.Val<qval.cutoff & abs(logFC) > FC.cutoff),
        aes(label = geneSymbol)
    ) + xlim(-0.3,0.3)
p

应该向您展示情节并为我工作。代码:

df <- tibble(
  geneSymbol = c("TXNIP", "HIST1H2AC", "HIST1H2BJ"),
  logFC = c(0.2234088, 0.1557544, 0.1642828),
  adj.P.Val = c(5.047609e-08, 2.117593e-05, 5.412808e-05),
  sig = c("pval.cutoff", "Not Sig", "Not Sig")
)

p <- ggplot(df, aes(logFC, -log10(adj.P.Val))) +
  geom_point(aes(col=sig))  +
  scale_color_manual(values = c("gray", "red")) + 
  ggtitle("Response to glucose No_DM, No_PDR and PDR") +
  xlab("log2FC")

p <- p + ggrepel::geom_text_repel(
  data = filter(df, sig == "pval.cutoff"), aes(label = geneSymbol))

p