使用数据框在r中排序图中着色点

使用数据框在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

使用以下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 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])