我试图使用GGPLOT2/geom_boxplot以产生其中晶须被定义为在5位和第95百分位,而不是0.25的箱线图 - 1.5 IQR/0.75 + IQR并从这些新的晶须离群值被绘制如常.我可以看到geom_boxplot美学包括ymax/ymin,但我不清楚如何将值放在这里.这好像是:
stat_quantile(quantiles = c(0.05, 0.25, 0.5, 0.75, 0.95))
Run Code Online (Sandbox Code Playgroud)
应该能够提供帮助,但我不知道如何将此stat的结果与设置相应的geom_boxplot()美学联系起来:
geom_boxplot(aes(ymin, lower, middle, upper, ymax))
Run Code Online (Sandbox Code Playgroud)
我已经看过其他帖子,其中人们提到基本上手动构建一个类似boxplot的对象,但我宁愿保持整个boxplot格式塔完整,只是修改两个正在绘制的变量的含义.
如何在ggplot2中为异常点着色?我希望它们与boxplot本身颜色相同.colour=这还不够.
例:
p <- ggplot(mtcars, aes(factor(cyl), mpg))
p + geom_boxplot(aes(colour=factor(cyl)))
Run Code Online (Sandbox Code Playgroud)
我也希望为异常值着色factor(cyl).这不起作用:
> p <- ggplot(mtcars, aes(factor(cyl), mpg))
> p + geom_boxplot(aes(colour=factor(cyl), outlier.colour=factor(cyl)))
Run Code Online (Sandbox Code Playgroud) 假设我有以下数据框:
library(ggplot2)
set.seed(101)
n=10
df<- data.frame(delta=rep(rep(c(0.1,0.2,0.3),each=3),n), metric=rep(rep(c('P','R','C'),3),n),value=rnorm(9*n, 0.0, 1.0))
Run Code Online (Sandbox Code Playgroud)
我的目标是通过多种因素做一个箱形图:
p<- ggplot(data = df, aes(x = factor(delta), y = value)) +
geom_boxplot(aes(fill=factor(metric)))
Run Code Online (Sandbox Code Playgroud)
输出是:
到目前为止一切都很好,但如果我这样做:
p+ geom_point(aes(color = factor(metric)))
Run Code Online (Sandbox Code Playgroud)
我明白了:
我不知道它在做什么.我的目标是在这里完成异常值的着色.请注意,此解决方案将框的内部颜色更改为白色,并将边框设置为不同的颜色.我希望保持相同颜色的盒子,同时让异常值继承这些颜色.我想知道如何使异常值从各自的箱形图中获得相同的颜色.