在R中为特定值的绘图添加标签

3

我使用以下数据集创建绘图,并希望仅为在“DisplayName”列中标记为T的点添加标签。

Probe   Name    DisplayName X   Y
bob1    A   0   53.989643   7935.185
bob2    B   T   55.11423    7930.626
bob3    C   0   49.537724   6901.7715
bob4    D   0   57.280113   6687.0156
bob5    E   T   7.5517325   840.3756
bob6    F   0   62.68943    6666.6665
bob7    G   T   32.553364   3036.508
bob8    H   0   34.120102   2553.5354
bob9    I   0   127.54777   7818.89

我的想法是使用text()和which()方法添加“Name”的值,但我被以下代码卡住了:

plot(data$X, data$Y)
text(data$X, data$Y, d$Name[which(d$DisplayName =="T",  arr.ind=TRUE)])

任何帮助都将不胜感激,
祝好;)
2个回答

4
你可以使用subset()with()结合在函数text()中只使用数据框的部分内容。
plot(df$X, df$Y)
with(subset(df,DisplayName=="T"),text(X,Y,Name))

这在 R 4.0 中可能不起作用吗? - Brian Wiley
@BrianWiley 对我来说使用 R 4.0.5 正常运行。 - Didzis Elferts
是的,谢谢。我刚刚弄错了数据类型,应该是字符类型。 - Brian Wiley

3
你可以按照以下最简单的方法(但可能不如Didzis的回答优雅)来完成这个任务:
plot(data$X, data$Y)
text(data$X[d$DisplayName =="T"], data$Y[d$DisplayName =="T"], d$Name[d$DisplayName =="T"])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接