用文本绘制R中的MDS

时间:2014-01-14 12:54:49

标签: r text plot

我有一个简单的PLINK MDS“Cauc71.mds”:

    FID         IID     SOL     C1              C2 
1   Lezgins     lez37   0       0.0196617       0.0366344 
2   Georgians   mg47    0       0.0121934       -0.0335062 
    ...
71  Kumyk       Kumyk22 0       0.00135308      0.00216335 

以下代码将在R中生成一个图:

d <- read.table("Cauc71.mds", header=TRUE)
plot(d$C1, d$C2, pch=20, cex=2, col = d$SOL+1)

是否有一种简单的方法可以使用 IID 列中的文字标签{ lez37 mg47 而不是pch点?

谢谢!

2 个答案:

答案 0 :(得分:1)

您无法在plot中定义此内容。您只能绘制点,线等。但您可以在之后添加文本,例如

text(d$C1, d$C2, labels=d$IID, col = d$SOL+1)

此外,您可能需要使用参数posadj正确定位文字。

如果您还想摆脱这些点,可以将参数type="n"添加到绘图函数中。

答案 1 :(得分:0)

试试这个:

d <- read.table("Cauc71.mds", header=TRUE)
plot(d$C1, d$C2, pch=20, cex=0, col = d$SOL+1)
text(d$C1, d$C2, labels=d$IID)

您还可以使用ggplot2包生成更好的图:

library(ggplot2)
ggplot(d, aes(x=C1, y=C2, label=IID))+geom_text()

enter image description here