想要制作一个火山图,它是基于意义和差异表达而着色的。使用Limma对象在R中的toptable制作了一个数据格式。根据调整后的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(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很陌生)
谢谢你的帮助!!
发布于 2020-04-20 21:03:06
您需要像这样使用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),然后将您的四种颜色传递给scale_color_manual
https://stackoverflow.com/questions/61331846
复制相似问题