如何用标签和用户指定的颜色标记图中的每个数据点?

时间:2013-07-08 04:12:57

标签: r

我有以下二维数据点,第一列是数据ID

ID    V1              V2
1   -9.2523712  1.751943612
2   -0.9799493  0.067998776
3   -0.9799493  0.067998776
4   3.2156859   1.088934239
5   3.4915597   1.097911743
6   3.4915597   1.097911743
7   -0.9799493  0.067998776
8   -0.9799493  0.067998776
9   -0.9799493  0.067998776
10  3.2156859   1.088934239

假设此数组命名为fit,我将这些点绘制为plot(fit[,2],fit[,3])但是,是否可以在图上用ID标记每个点?另外,对于某些特定点,如ID 10,我想用红色标记它。我怎么能在R?中做到这一点?

2 个答案:

答案 0 :(得分:0)

在绘图命令之后,使用以下命令:

text(x=fit[, 2], y=fit[, 3], labels=fit[, 1])
points(x=fit[fit$ID==10, 2], y=fit[fit$ID==10, 3], col="red")

话虽如此,ggplot

更好

答案 1 :(得分:0)

尝试使用letters[i]对点进行抖动以标记第i个点并将其叠加在红色辐条显示多重性的向日葵图上。我们可以使用随机种子和抖动参数来调整它。点a没有重叠点但是底部附近有五个重叠(b,c,g,h,i),右边附近有四个重叠(d,e,f,j),我们可以从图中看到。

set.seed(19)
fitj <- transform(fit, V1 = jitter(V1, 10), V2 = jitter(V2), 10)
with(fit, sunflowerplot(V1, V2))
with(fitj, text(V1, V2, letters[1:10]))

screenshot