gpt4 book ai didi

r - Boxplot,如何匹配异常值的颜色来填充美学?

转载 作者:行者123 更新时间:2023-12-03 14:50:42 32 4
gpt4 key购买 nike

我正在尝试将箱线图的异常值颜色与美学(scale_colour_discrete)设置的填充颜色相匹配。

这是一个例子。

m <- ggplot(movies, aes(y = votes, x = factor(round(rating)),
fill=factor(Animation)))
m + geom_boxplot() + scale_y_log10()

这会生成下面的图。如何将那些黑点更改为 body 中使用的红色/绿色?如果我理解正确,箱线图的 outlier.colour 选项似乎选择了一种颜色,而不是美观。如果有帮助,我不介意使用色彩美学。

Original Version

编辑:

改编 this solution (Changing whisker definition in geom_boxplot) .水平闪避由 stats_summary 重置,我无法弄清楚如何将其取回。我会根据需要放弃异常值和拉伸(stretch) mustache ,因为我现在知道如何了。
# define the summary function
f <- function(x) {
r <- quantile(x, probs = c(0.05, 0.25, 0.5, 0.75, 0.95))
names(r) <- c("ymin", "lower", "middle", "upper", "ymax")
r
}
# define outlier function, beyound 5 and 95% percentiles
o <- function(x) {
subset(x, x < quantile(x,probs=c(0.05))[1] | quantile(x,probs=c(0.95))[1] < x)
}

m <- ggplot(movies, aes(y = votes, x = factor(round(rating)),
colour=factor(Animation)))
m <- m + stat_summary(fun.data=f, geom='boxplot')
m <- m + stat_summary(fun.y=o, geom='point', aes(colour=factor(Animation)))
m + scale_y_log10()

Failed attempt

最佳答案

正如@koshke 所说,现在可以通过设置 outlier.colour = NULL 轻松地将异常值着色为框线(而不是填充颜色)。 :

m <- ggplot(movies, aes(y = votes, x = factor(round(rating)),
colour = factor(Animation)))
m + geom_boxplot(outlier.colour = NULL) + scale_y_log10()

boxplot with coloured outliers
  • outlier.colour必须写成“ou”
  • outlier.colour必须在 aes () 之外

  • 我将其发布为较晚的答案,因为我发现自己一次又一次地查找此问题,并且我还将其发布为相关问题 Coloring boxplot outlier points in ggplot2? .

    关于r - Boxplot,如何匹配异常值的颜色来填充美学?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8499378/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com