Установка цвета для отдельной точки данных - PullRequest
19 голосов
/ 08 января 2012

Как установить цвет для отдельной точки данных на диаграмме рассеяния в R?

Я использую plot

Ответы [ 3 ]

34 голосов
/ 08 января 2012

Чтобы расширить ответ @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

19 голосов
/ 08 января 2012

Делать то, что вы хотите сделать с помощью кода, достаточно легко, и другие предложили хорошие способы сделать это. Однако, если вы предпочитаете нажимать на точки, для которых вы хотите изменить цвет, вы можете сделать это, используя команду «Identify» вместе с командой «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)
11 голосов
/ 08 января 2012

Используйте аргумент col=, который векторизован , например, в

 plot(1:5, 1:5, col=1:5)

вы получаете пять очков в пяти разных цветах:

enter image description here

Вы можете использовать ту же логику, чтобы использовать только два или три цвета среди ваших точек данных. Понимание индексации является ключевым в таких языках, как R.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...