Подтвердить что ты не робот

Участок с условными цветами на основе значений в R

Я хочу построить график с разными цветами на основе значений. Я написал код ниже,

np_graph <- data.frame(C1 = -5:5, C2 = -5:5)
x=np_graph2$C1
y=np_graph2$C2
plot(x,y,xlab="PC1",ylab="PC2")

Теперь, если значение X равно > 0, тогда это значение должно быть зеленым (на графике). если значение Y равно > 0, то это значение должно быть красным (на графике).

Может кто-нибудь мне помочь в этом?

4b9b3361

Ответ 1

Аргумент col будет устанавливать цвета, вы можете использовать его в сочетании с оператором ifelse. Подробнее см. ?plot.

# using base plot
plot(x,y,xlab="PC1",ylab="PC2", col = ifelse(x < 0,'red','green'), pch = 19 )

enter image description here

Сделать то же самое в ggplot2.

#using ggplot2
library(ggplot2)
ggplot(np_graph) + geom_point(aes(x = C1, y = C2, colour = C1 >0)) +
  scale_colour_manual(name = 'PC1 > 0', values = setNames(c('red','green'),c(T, F))) +
  xlab('PC1') + ylab('PC2')

enter image description here