使用数据框在r中排序图中着色点
使用以下data.frame:使用数据框在r中排序图中着色点,r,text,labels,R,Text,Labels,使用以下data.frame: df<-data.frame("sites"=as.character(1:20),"type"=c(rep("small",10),rep("large",10))) sites type 1 1 small 2 2 small 3 3 small 4 4 small 5 5 small 6 6 small 7 7 small 8 8 small 9 9 s
df<-data.frame("sites"=as.character(1:20),"type"=c(rep("small",10),rep("large",10)))
sites type
1 1 small
2 2 small
3 3 small
4 4 small
5 5 small
6 6 small
7 7 small
8 8 small
9 9 small
10 10 small
11 11 large
12 12 large
13 13 large
14 14 large
15 15 large
16 16 large
17 17 large
18 18 large
19 19 large
20 20 large
df看起来文本标签颜色在ordiplot中是硬编码的,因此您必须设置打印,然后使用text()按组打印标签:
score <- scores(pc)[, 1:2]
fig<-ordiplot(score, type="n", main="PCoA")
color <- c("red", "blue")
sz <- as.numeric(df$type[as.numeric(rownames(score))])
text(score, rownames(score), col=color[sz])
score请指定您使用的软件包我刚刚将此添加到问题中。感谢您指出这一点,如果您阅读了?ordiplot
的文档,他们建议使用type=“none”
,然后正是出于这个原因分别添加点和文本。
score <- scores(pc)[, 1:2]
fig<-ordiplot(score, type="n", main="PCoA")
color <- c("red", "blue")
sz <- as.numeric(df$type[as.numeric(rownames(score))])
text(score, rownames(score), col=color[sz])