繁体   English   中英

尝试向 R ggplot(火山图)添加颜色时出错

[英]Error trying to add colours to R ggplot (volcano plot)

想要制作一个根据显着性和差异表达着色的火山 plot。 使用来自 Limma object 的 R 中的 toptable 制作了 dataframe。 根据调整后的 p 值和 logfc 将颜色列添加到数据框中。 所以每个基因也有一个颜色分配(“填充),然后用这些颜色来制作ggplot:

 geom_point(mapping = aes(x= logFC, y= log10adj, colour = fill))+
 geom_hline(yintercept=1.3, linetype="dashed", color = "red")+
 geom_vline(xintercept=-1, linetype="dashed", colour= "blue")+
 geom_vline(xintercept=1, linetype="dashed", colour= "blue")+
 xlab("Log2 Fold Change")+
 ylab("-Log10 Adjusted P-value")+
 xlim(-3,3)+
 theme_grey()

但是 ggplot 没有正确着色:

不正确的 plot

如果我将形状添加到美学中,则会出现错误:

ggplot(voom_topt)+
  geom_point(mapping = aes(x= logFC, y= log10adj, colour = fill, shape = 23))+
  geom_hline(yintercept=1.3, linetype="dashed", color = "red")+
  geom_vline(xintercept=-1, linetype="dashed", colour= "blue")+
  geom_vline(xintercept=1, linetype="dashed", colour= "blue")+
  xlab("Log2 Fold Change")+
  ylab("-Log10 Adjusted P-value")+
  xlim(-3,3)+
  theme_grey()

错误:无法将连续变量映射到形状运行rlang::last_error()以查看错误发生的位置。

有谁知道如何解决这个问题? 我不知道为什么会出错(Ps 我对 R 很陌生)

谢谢你的帮助!!

您需要这样使用scale_color_manual

ggplot(mtcars) +
geom_point(mapping = aes(
  x = mpg, y = wt, color = factor(cyl))) + 
scale_color_manual(values = c("red", "black", "green"))

从我在您的代码中可以看到,您将设置color = factor(fill)然后将您的四个 colors 传递给scale_color_manual

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM