用GGR中的散点群着色
我正在使用ggpubr库中的ggscatter函数制作散点图。 我的数据框看起来像这样用GGR中的散点群着色,r,grouping,ggpubr,R,Grouping,Ggpubr,我正在使用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 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列为点上色”是指使用基于12列V12
的颜色填充点
请注意,您的示例数据只包含V12=“non_sig”
条目,因此我已手动将一个条目更改为“sig”
样本数据 我假设“使用12列为点着色”的意思是使用基于12列
V12
的颜色填充点
请注意,您的示例数据只包含V12=“non_sig”
条目,因此我已手动将一个条目更改为“sig”
样本数据
假设第12列中的变量是因子,它们的默认顺序是字母顺序。因此,在您的示例中,第一个调色板颜色(“黑色”)进入第一个因子级别(“非sig”);第二种颜色(“红色”)为第二种颜色(“sig”) 如果要以不同的方式指定颜色,则需要对调色板中的因子级别或颜色名称重新排序。例如,要将“黑色”、“红色”和“绿色”指定给因子“sig”、“non_sig”和“new_var”,可以执行以下操作:
df$V12 <- factor(df$V12, levels = c("sig", "non_sig", "new_var"))
假设第12列中的变量是因子,它们的默认顺序是字母顺序。因此,在您的示例中,第一个调色板颜色(“黑色”)进入第一个因子级别(“非sig”);第二种颜色(“红色”)为第二种颜色(“sig”) 如果要以不同的方式指定颜色,则需要对调色板中的因子级别或颜色名称重新排序。例如,要将“黑色”、“红色”和“绿色”指定给因子“sig”、“non_sig”和“new_var”,可以执行以下操作:
df$V12 <- factor(df$V12, levels = c("sig", "non_sig", "new_var"))
从某种意义上说,您已经在编码颜色了。第12列中的变量将按字母顺序排列:首先是
non_sig
,然后是sig
。您的调色板是按顺序分配的,因此第一个因素(non_sig
)为“黑色”,第二个因素(sig
)为“红色”。谢谢您的回复。我现在知道它在这里工作,但让我们假设第12列中有三个变量,我想以我知道的方式为它们分配颜色,而不是基于字母顺序,我该怎么做?添加了一个希望有帮助的答案。从某种意义上说,您已经在编码颜色了。第12列中的变量将按字母顺序排列:首先是non_sig
,然后是sig
。您的调色板是按顺序分配的,因此第一个因素(non_sig
)为“黑色”,第二个因素(sig
)为“红色”。谢谢您的回复。我现在知道它在这里工作,但让我们假设第12列中有三个变量,我想以我知道的方式为它们分配颜色,而不是基于字母顺序,我怎么能这样做?添加了一个希望有帮助的答案。对不起,我没有意识到,我这里没有sig值。我看到您使用了fill而不是color参数,但在这种情况下,它是按字母顺序分配的,如果我有第三个变量测试,我希望它是黑色的,sig到红色,非sig到橙色。我该怎么做?@user3138373您可以为调色板使用命名向量
;我已经更新了我的答案,请看一看。非常感谢,我不知道我可以在里面使用名称。对不起,我没有意识到,我这里没有sig值。我看到您使用了fill而不是color参数,但在这种情况下,它是按字母顺序分配的,如果我有第三个变量测试,我希望它是黑色的,sig到红色,非sig到橙色。我该怎么做?@user3138373您可以为调色板使用命名向量
;我已经更新了我的答案,请看一看。非常感谢,我不知道我可以在里面使用名字
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)
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 test
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)
ggscatter(
df,
x= "V6", y= "V7",
fill = "V12",
shape = 21,
size = 5,
palette = c(test = "black", sig = "red", non_sig = "orange"))
df$V12 <- factor(df$V12, levels = c("sig", "non_sig", "new_var"))
palette = c("black", "red", "green")