【发布时间】:2018-07-23 23:10:05
【问题描述】:
我正在使用 ggpubr 库中的 ggscatter 函数来制作散点图。 我的数据框是这样的
1 a b chr17 + 0.003 0.005 0,2 282232 4,0 253259 non_sig
10 a b chr22 - 0.733 0.6855 16,17 3,3 24,45 11,4 non_sig
12 a b chr13 + 0.7625 0.7965 22,14 1,7 7,18 1,4 non_sig
14 a b chr13 + 0.4555 0.369 20,16 19,12 4,23 17,11 non_sig
15 a b chr13 + 0.488 0.384 27,15 19,12 7,18 17,11 non_sig
16 a b chr16 - 0.9715 0.978 200141 3,2 260280 3,3 non_sig
21 a b chr1 + 0.9365 0.933 149118 1,12 133175 11,5 non_sig
22 a b chrX + 0.6475 0.7265 129,57 58,35 104,78 37,29 non_sig
26 a b chr3 + 0.05 0.0475 54,32 721503 46,27 519617 non_sig
27 a b chr3 + 0.0475 0.045 57,34 721503 47,30 519617 non_sig
这是我正在使用的命令
library("ggpubr")
df <- read.table("test.txt",header =F,sep="\t")
ggscatter(df,x= "V6",y= "V7",color = "V12", shape = 21, size = 1,add = "reg.line",cor.coef = TRUE, cor.method = "pearson",conf.int = TRUE,title="A3SS(4561)",xlab="Ψ2",ylab = "Ψ1",
palette = c("black", "red"))
我想使用具有 non_sig 或 sig 作为值的第 12 列为点着色,并以此为基础,如果 non_sig,我希望它是black,如果是sig,我希望它是red
当我使用上面的代码时,它会做我想做的事,但是我该如何在这里专门编写代码
sig=>red
non_sig=>black
感谢您的帮助!
【问题讨论】:
-
从某种意义上说,您已经在对颜色进行编码了。第 12 列中的变量将按字母顺序排列:首先是
non_sig,然后是sig。您的调色板是按顺序分配的,因此“黑色”属于第一个因素 (non_sig),“红色”属于第二个因素 (sig)。 -
感谢您的回复。我现在明白它在这里可以工作,但是假设 column12 中有三个变量,我想以我知道的方式而不是基于字母顺序为它们分配颜色,我该怎么做?
-
添加了一个希望有帮助的答案。