Trazar con colores condicionales basados ​​en valores en R

Quiero trazar un gráfico con diferentes colores basados ​​en valores. Escribí el siguiente código,

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") 

Ahora, si el valor de X es> 0, ese valor debería estar en verde (en el gráfico). si el valor de Y es> 0, entonces ese valor debe estar en rojo (en el gráfico).

¿Puede alguien ayudarme en esto?

El argumento col establecerá los colores, puede usar esto junto con una statement ifelse . Ver ?plot para más detalles.

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

enter image description here

Para hacer lo mismo en 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