根据矢量值绘制矢量

时间:2015-04-02 11:41:14

标签: r plot

我的矩阵为200k * 2,第一个矢量有值,第二个有-1或+1。 我希望在第二个值为+1时将第一个矢量绘制为蓝色点,在第二个值为-1时绘制红色点。

谢谢,

1 个答案:

答案 0 :(得分:1)

你可以尝试

## Create some data
## set.seed(1) ## To make the plot reproducible
dat <- data.frame(a = rnorm(1000), b = sample(c(-1,1), 1000, TRUE))
## Plot the first column dat$a,
## color blue if dat$b == -1 and red otherwise
plot(dat$a, col = ifelse(dat$b == -1, "blue", "red"))

enter image description here

并使用ggplot2

library(ggplot2)
ggplot(dat, aes(x = seq(a), y = a, col = factor(b))) + 
   geom_point() + 
   scale_color_manual(values=c("blue", "red"))

enter image description here

并使用ggvis

library(ggvis)
dat$color <- c("blue", "red")[factor(dat$b)]
dat %>% ggvis(~seq(a), ~a, fill := ~color) 

enter image description here