我的矩阵为200k * 2,第一个矢量有值,第二个有-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"))
并使用ggplot2
library(ggplot2)
ggplot(dat, aes(x = seq(a), y = a, col = factor(b))) +
geom_point() +
scale_color_manual(values=c("blue", "red"))
并使用ggvis
library(ggvis)
dat$color <- c("blue", "red")[factor(dat$b)]
dat %>% ggvis(~seq(a), ~a, fill := ~color)