gpt4 book ai didi

r - R中的半色箱线图

转载 作者:行者123 更新时间:2023-12-05 00:24:52 26 4
gpt4 key购买 nike

有没有办法让原生 R boxplot 函数为顶部和底部框生成具有不同颜色的箱线图?像这样的东西:

enter image description here

这是我想出的函数:

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)

应该给出类似的东西:

enter image description here

最佳答案

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

bx<-boxplot(count ~ spray, data = InsectSprays, col = "lightgray")
rect(1:6-.4, bx$stats[2,], 1:6+.4, bx$stats[3,], col="orange")
rect(1:6-.4, bx$stats[3,], 1:6+.4, bx$stats[4,], col="yellow")

enter image description here

您可以继续自定义。

关于r - R中的半色箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25651874/

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