r-散点图中的一个点的颜色/填充方式不同



我正在使用基本的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)

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

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

最新更新