火山图中的颜色调节基因 - ggplot2

时间:2014-03-26 02:24:43

标签: r colors ggplot2

嗨,我是R的新手,我正在努力修改我在互联网上找到的R代码,并学习如何制作火山图。

此代码是使用ggplot2制作火山图,我遇到的问题是我想为上调和下调蛋白着色,而不是将蛋白着色到指定阈值以上。我使用的代码如下:

install.packages("ggplot2")

gene_list <- read.table("/Users/Javi/Desktop/gene_list.csv", header=T, sep=",")

require(ggplot2)
##Highlight genes that have an absolute fold change > 2 and a p-value < 0.05
gene_list$threshold = as.factor(abs(gene_list$logFC) > 2 & gene_list$P.Value < 0.05)

##Construct the plot object
g = ggplot(data=gene_list, aes(x=logFC, y=-log10(P.Value), colour=my_palette)) +
    geom_point(alpha=0.4, size=5) +
    theme(legend.position = "none") +
    xlim(c(-10, 10)) + ylim(c(0, 15)) +
    xlab("log2 fold change") + ylab("-log10 p-value")
g

我想做的是用红色(例如)logFC值&gt;来着色。以及蓝色的logFC值<1。 -1.3

我使用的csv文件只是一个例子,可能是这样的:

    logFC   P.Value
a   2       0.04
b   5       0.04
c   8       0.04
d   4       0.000005
e   7       0.01
f   1       0.04
g   -6      0.0001
h   -8      0.04

非常感谢您的帮助。 干杯 哈维

1 个答案:

答案 0 :(得分:1)

在数据框上创建一个新的颜色标记:

gene_list$color_flag <- ifelse(gene_list$logFC > 1.3, 1, ifelse(gene_list$logFC < -1.3, -1, 0))

然后将fill = color_flag添加到您的aes