我想为最高点着色
data <- data.frame(x=rnorm(100))
data$a <- ifelse(data$x>quantile(data$x,.90),"1","2")
但是,除了添加颜色外,设置颜色审美与分组完全相同。
ggplot(data,aes(x=x,colour=a))+
geom_point(stat="ecdf")
ggplot(data,aes(x=x,group=a))+
geom_point(stat="ecdf")
有没有一种方法可以为点设置颜色审美,而无需将数据分组以进行单独计算?
答案 0 :(得分:1)
或许可以单独计算经验CDF并绘制其中的点。
# reproducible!
set.seed(1492)
data <- data.frame(x=rnorm(100))
# explicitly make the y vals
fx <- ecdf(data$x)
data$y <- fx(data$x)
# point colors
data$a <- ifelse(data$x > quantile(data$x, 0.90), "1", "2")
# take a peek
head(data)
## x y a
## 1 -0.5898476 0.31 2
## 2 -0.8986574 0.22 2
## 3 -1.6241110 0.06 2
## 4 1.0479216 0.85 2
## 5 -0.2782887 0.38 2
## 6 0.3624930 0.63 2
gg <- ggplot(data, aes(x=x, y=y, colour=a))
gg <- gg + geom_point()
gg <- gg + theme_bw()
gg