如何在R
的散点图中设置单个数据点的颜色?
我正在使用plot
答案 0 :(得分:34)
要扩展@Dirk Eddelbuettel的答案,您可以在col
的调用中使用plot
的任何功能。例如,这会将x==3
点变为红色,而将所有其他颜色设置为黑色:
x <- 1:5
plot(x, x, col=ifelse(x==3, "red", "black"))
点角色pch
,角色展开cex
等同样如此
plot(x, x, col=ifelse(x==3, "red", "black"),
pch=ifelse(x==3, 19, 1), cex=ifelse(x==3, 2, 1))
答案 1 :(得分:19)
通过代码执行您想要执行的操作非常简单,而其他人则提供了很好的方法来执行此操作。但是,如果您希望单击要更改颜色的点,则可以使用“识别”和“点”命令以新颜色重新绘制这些点。
# Make some data
n <- 15
x <- rnorm(n)
y <- rnorm(n)
# Plot the data
plot(x,y)
# This lets you click on the points you want to change
# the color of. Right click and select "stop" when
# you have clicked all the points you want
pnt <- identify(x, y, plot = F)
# This colors those points red
points(x[pnt], y[pnt], col = "red")
# identify beeps when you click.
# Adding the following line before the 'identify' line will disable that.
# options(locatorBell = FALSE)
答案 2 :(得分:11)
使用矢量化的col=
参数,例如在
plot(1:5, 1:5, col=1:5)
你得到五种不同颜色的五分:
您可以使用相同的逻辑在数据点中仅使用两种或三种颜色。理解索引是R语言的关键。