2

我正在使用基本 R 图形制作包含数千个数据点的散点图。其中一个点具有最高的“y”值。我想填补这一点,让它看起来不一样。在过去,我已经通过以下方式之一完成了这项工作。当然,当时的点数很少,因此我能够轻松管理它。现在我有〜3000分。有任何想法吗?

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

2 回答 2

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)
于 2013-02-14T22:06:53.483 回答
0

我认为这样做可能会更快一些:

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

这将创建一个向量TRUEFALSE将被强制转换为1s 和0s 的值,因此您可能必须将 a 附加+1到该语句以避免使用白色:

plot(xx, yy, col=(yy==max(yy))+1, pch=19)
于 2013-02-14T22:09:52.427 回答