本文小编为大家详细介绍“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根据分组怎么设置不同颜色”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注天达云行业资讯频道。