设置单个数据点的颜色

时间:2012-01-07 23:28:11

标签: r plot

如何在R的散点图中设置单个数据点的颜色?

我正在使用plot

3 个答案:

答案 0 :(得分:34)

要扩展@Dirk Eddelbuettel的答案,您可以在col的调用中使用plot的任何功能。例如,这会将x==3点变为红色,而将所有其他颜色设置为黑色:

x <- 1:5
plot(x, x, col=ifelse(x==3, "red", "black"))

example 1

点角色pch,角色展开cex等同样如此

plot(x, x, col=ifelse(x==3, "red", "black"),
     pch=ifelse(x==3, 19, 1), cex=ifelse(x==3, 2, 1))

example 2

答案 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)

你得到五种不同颜色的五分:

enter image description here

您可以使用相同的逻辑在数据点中仅使用两种或三种颜色。理解索引是R语言的关键。