我正在使用基本 R 图形制作包含数千个数据点的散点图。其中一个点具有最高的“y”值。我想填补这一点,让它看起来不一样。在过去,我已经通过以下方式之一完成了这项工作。当然,当时的点数很少,因此我能够轻松管理它。现在我有〜3000分。有任何想法吗?
col=c{'black','black','black','red','black','black'}
pch=c(16,16,16,17,16,16)
选项 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)
我认为这样做可能会更快一些:
plot(xx, yy, col=(yy==max(yy)), pch=19)
这将创建一个向量TRUE
和FALSE
将被强制转换为1
s 和0
s 的值,因此您可能必须将 a 附加+1
到该语句以避免使用白色:
plot(xx, yy, col=(yy==max(yy))+1, pch=19)