- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 18999 个
- 通用积分
- 1029.7754
- 学术水平
- 146 点
- 热心指数
- 166 点
- 信用等级
- 135 点
- 经验
- 36357 点
- 帖子
- 541
- 精华
- 0
- 在线时间
- 887 小时
- 注册时间
- 2015-9-25
- 最后登录
- 2025-12-4
|
两种方法,供参考
- library(tidyverse)
- library(RColorBrewer)
- dt = data.frame(y = c(rnorm(100),
- rexp(100),
- rgamma(100,2,3),
- rlnorm(100),
- rweibull(100, 3,2)),
- x = rep(paste0('v',1:5),
- rep(100,5)))
- coul <- brewer.pal(3, "PuOr")
- #===== base
- cols <- colorRampPalette(coul)(1000)
- dat = boxplot(y~x, data=dt, pch=16)
- for(i in 1:length(unique(dt$x))){
- yy=seq(dat$stats[2,i], dat$stats[4,i], len=1000)
- xx=c(i-0.4,i+0.4)
- ymean = dat$stats[3,i]
- segments(xx[1],yy,xx[2],yy, col = cols)
- segments(xx[1],ymean,xx[2],ymean, col = 'black',lwd=2)
-
- }
- #======= ggplot
- p = ggplot(data = dt,aes(x=x,y=y)) +
- geom_boxplot()
- cols <- colorRampPalette(coul)(50)
- for (i in 1:length(unique(dt$x))) {
- yy=seq(dat$stats[2,i], dat$stats[4,i], len=50)
- xx=c(i-0.4,i+0.4)
- ymean = dat$stats[3,i]
- for (j in 1:50) {
- p = p+geom_segment(x=xx[1],y=yy[j],xend=xx[2], yend=yy[j],
- colour=cols[j],lwd=3)
- }
- }
- p+theme_bw()
复制代码
|
-
总评分: 学术水平 + 3
热心指数 + 3
信用等级 + 3
查看全部评分
|