Как установить цвет для одной точки данных на диаграмме рассеяния в R?
Я использую plot
Ответ 1
Чтобы расширить ответ на @Dirk Eddelbuettel, вы можете использовать любую функцию для col в вызове plot. Например, это окрашивает точку x==3 красным цветом, оставив все остальные черными:
x <- 1:5
plot(x, x, col=ifelse(x==3, "red", "black"))
То же самое относится к символу точки pch, расширению символа cex и т.д.
Выполнение того, что вы хотите сделать с помощью кода, достаточно просто, а другие предоставили хорошие способы сделать это. Если, однако, вы предпочитаете нажимать на точки, которые хотите изменить цвет, вы можете сделать это, используя "идентифицировать" вместе с командой "points", чтобы переделать эти точки в новом цвете.
# 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)
Ответ 3
Используйте аргумент col=, который векторизован так, чтобы, например, в
plot(1:5, 1:5, col=1:5)
вы получаете пять очков в пяти разных цветах:
Вы можете использовать ту же логику, чтобы использовать только два или три цвета среди ваших точек данных. Понимание индексации является ключевым в таких языках, как R.