2013-02-14 80 views
2

我正在使用基准R图形制作具有数千个数据点的散点图。其中有一点是最高的'y'值。我想填补这一点,使其看起来不同。在过去,我通过以下方式之一完成了这项工作。当然,点数很少,因此我能够轻松管理。现在我有〜3000分。有任何想法吗?颜色/在散点图中以不同的方式填充一个点

col=c{'black','black','black','red','black','black'} 
pch=c(16,16,16,17,16,16) 

回答

3

选项1:确定最大,使你的颜色矢量

set.seed(47) 
n <- 1e4 
xx <- runif(n) 
yy <- rexp(n) 
colors <- rep("black", n) 
colors[which.max(yy)] <- "red" 
plot(xx, yy, col = colors, pch = 16) 

选项2:情节最大分别。这可能更容易,尤其是如果你想调整更多的特征,而不仅仅是颜色。

plot(xx, yy, pch = 16) 
points(xx[which.max(yy)], yy[which.max(yy)], col = "red", pch = 17, cex = 2) 
0

我认为它可能是一个快一点,只是做的事:

plot(xx, yy, col=(yy==max(yy)), pch=19) 

这将创建将被强制为1 S和0小号TRUEFALSE值的矢量,所以你可能必须附上+1以避免使用白色:

plot(xx, yy, col=(yy==max(yy))+1, pch=19) 
+0

Senor:我先试过你的答案,而它的工作,所有t他的积分稳固,我对颜色没有控制。我尝试了+1到+3,但无法找到一种方法将其余的点保留为未填充的圆圈。无论如何,谢谢您花时间提出解决方案。 – cryptic0 2013-02-14 23:07:35

+0

哦,这是'pch = 19'的原因。只要摆脱这一论点,就会像平常一样 – 2013-02-15 14:57:20