R中的半彩色箱线图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R中的半彩色箱线图相关的知识,希望对你有一定的参考价值。

无论如何,是否有本机R boxplot函数为顶部和底部盒子生成具有不同颜色的盒子图?像这样的东西:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9KTkxMZi5qcGcifQ==” alt =“在此处输入图像描述”>“ >>

这是我想出的功能:

h.boxplot <- function(..., col.top='orange', col.bottom='yellow', col.scheme='none'){
    cols = c(col.top, col.bottom)
    if(col.scheme != 'none'){
      cs =  list(blue=c('#0071c1', '#3198ff'), green=c('#008001', '#99cc00'), yellow=c('#ffcc00', '#cc9900'))
      stopifnot(col.scheme %in% names(cs))
      cols = cs[[col.scheme]]
    }

    bx<-boxplot(..., col = "white", lty=1, boxlwd=0.00001)
    n = length(bx$names)

    rect(1:n-.4, bx$stats[2,], 1:n+.4, bx$stats[3,], col=cols[2], border=NA)
    rect(1:n-.4, bx$stats[3,], 1:n+.4, bx$stats[4,], col=cols[1], border=NA)
    return(bx)
}

# Examples
data = list(A=1:10, B=20:50)
h.boxplot(data, col.scheme='green', outline=F, frame=F)
h.boxplot(data, col.scheme='blue', outline=F, frame=F)

应该提供类似的内容:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9CcE1nUi5wbmcifQ==” alt =“在此处输入图像描述”>

无论如何,是否有本机R boxplot函数为顶部和底部盒子生成具有不同颜色的盒子图?像这样:这是我想出的功能:h.boxplot

答案

您无法在基础boxplot函数上设置参数来获得该行为,但是您可以通过在绘图上用不同颜色绘制矩形来伪造它。例如

以上是关于R中的半彩色箱线图的主要内容,如果未能解决你的问题,请参考以下文章

Python Matplotlib 箱线图颜色

如何在r中的箱线图之间创建单独的线图

分组箱线图,然后在 r 中列

R中的箱线图显示平均值

如何用R中的样本组制作特定行的箱线图

使用 R 中的数据框中的重复/分组行制作分组箱线图