我正在使用基本的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,因此您可能必须在该语句中附加一个+1
以避免使用white:
plot(xx, yy, col=(yy==max(yy))+1, pch=19)