千家信息网

R语言可视化开发forestplot根据分组怎么设置不同颜色

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本文小编为大家详细介绍"R语言可视化开发forestplot根据分组怎么设置不同颜色",内容详细,步骤清晰,细节处理妥当,希望这篇"R语言可视化开发forestplot根据分组怎么设置不同颜色"文章能
千家信息网最后更新 2025年11月07日R语言可视化开发forestplot根据分组怎么设置不同颜色

本文小编为大家详细介绍"R语言可视化开发forestplot根据分组怎么设置不同颜色",内容详细,步骤清晰,细节处理妥当,希望这篇"R语言可视化开发forestplot根据分组怎么设置不同颜色"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

分组设置颜色

library(forestplot)fn <- local({  i = 0  function(..., clr.line, clr.marker){    i <<- i + 1    if(i%%4==3){fpDrawNormalCI(..., clr.line = "#000000", clr.marker = "#00B9BF")} #4组中的第3组    else if(i%%4==0){fpDrawNormalCI(..., clr.line = "#000000", clr.marker = "#C26EFF")} #4组中的第4组    else if(i%%4==2 ){fpDrawNormalCI(..., clr.line = "#000000", clr.marker = "#6DA500")} #4组中的第2组    else(fpDrawNormalCI(..., clr.line = "#000000", clr.marker = "#F9675C")) #4组中的第1组  }})tabletext=cbind(c("Outcomes",figure_2_data$Treatmeant),c("CI (95%OR)",figure_2_data$`OR (95% CI)*`),c("P Value", figure_2_data$P))forestplot(labeltext=tabletext,graph.pos = 2,mean = c(NA,figure_2_data$OR),lower = c(NA,figure_2_data$Low),upper = c(NA,figure_2_data$High),boxsize = 0.5,            txt_gp=fpTxtGp(label=gpar(cex=1.25),                         ticks=gpar(cex=1.1),                         xlab=gpar(cex = 1.2),                         title=gpar(cex = 1.2)),zero = 1,align = "l",           is.summary = c(T,T,F,F,F,F,T,F,F,F,F,T,F,F,F,F,T,F,F,F,F),           col = fpColors(box = c("darkblue","darkred")),           fn.ci_norm = fn,           colgap = unit(8,"mm"),           graphwidth = unit(12,"cm")           )

效果图

给每行增加辅助线

line_list_Insuf1=list()for (i in 1:84) {  exprs=paste0("line_list_Insuf1$`",i,"`=gpar(lwd=1, columns=1:5, col = '#99999922')")  eval(parse(text=exprs))}line_list_Insuf1$`1`=gpar(lwd=2, columns=1:7, col = '#202020')line_list_Insuf1$`2`=gpar(lwd=2, columns=1:7, col = '#202020')# parse 将character转换为expression# eval 执行 expression# forestplot 函数里面再加上这句参数hrzl_lines = line_list_Insuf1

读到这里,这篇"R语言可视化开发forestplot根据分组怎么设置不同颜色"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0