我正在使用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"))
我想使用第12列为点着色,该列以 non_sig
或 sig
作为值,并以此为基础non_sig
,我希望它是black
,如果我希望它是sig
当我使用上面的代码时,它可以满足我的要求,但是我该如何在此处专门为
编写代码?red
感谢您的帮助!
答案 0 :(得分:3)
我假设通过“使用第12列为点着色” ,您的意思是用基于apple
列的颜色填充点。
请注意,您的示例数据仅包含V12
个条目,因此我已将一个条目手动更改为V12 = "non_sig"
"sig"
library(ggpubr)
ggscatter(
df,
x= "V6", y= "V7",
fill = "V12",
shape = 21,
size = 5,
add = "reg.line",
cor.coef = TRUE,
cor.method = "pearson",
conf.int = TRUE,
title="A3SS(4561)",
xlab="Ψ2",
ylab = "Ψ1",
palette = c("black", "red"))
为回应您的评论,您可以为df <- read.table(text =
"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 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", header = F)
参数使用命名向量;例如
palette
答案 1 :(得分:1)
假设第12列中的变量是因子,则它们的默认顺序为字母顺序。因此,在您的示例中,第一个调色板颜色(“黑色”)达到了第一个因子级别(“ non_sig”);第二种颜色(“红色”)用于第二个因素(“ sig”)。
如果要分配不同的颜色,则需要重新排列因子级别或调色板中的颜色名称。例如,要将“黑色”,“红色”和“绿色”分配给因子“ sig”,“ non_sig”和“ new_var”,您可以执行以下操作:
df$V12 <- factor(df$V12, levels = c("sig", "non_sig", "new_var"))
然后在情节中:
palette = c("black", "red", "green")