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根据分组设置不同颜色的详细内容,更多关于forestplot分组设置颜色的资料请关注我们其它相关文章!

(0)

相关推荐

  • R语言可视化存储矢量图实现方式

    目录 1. R 中自带的默认绘图 1) PDF 格式 2) EPS 格式 2. ggplot 绘图 1) PDF 格式 2) EPS 格式 之前写的博客中有提及过如何在 R 语言中绘制矢量图,然后用于论文引用.但没有专门开一篇博客来进行说明比较,这里重新开一篇博客来进行说明. 通常保存为矢量图可能大多数时候是为了论文中的引用,所以格式一般为 EPS, PDF 这两种格式,这里也主要针对这两种格式进行说明. 1. R 中自带的默认绘图 通常我们使用 plot(), lines(), points(

  • R语言数据可视化绘图Slope chart坡度图画法

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3. 绘图所需package的安装.调用 Step4. 绘图 今天小仙给大家分享一下Slope chart(坡度图)的画法,我在paper中看到的图是这样的 这个图的意思大概是Nasal Tissue比Brochial Tissue的ACE2表达量高(ACE2就是新冠病毒的受体啦) .为了复刻这张图,小仙捏造了一组差不多的数据,竟然感觉比原图好看! 废话不多说,进入正题. Step1. 绘图数据的准备 首先要把你想要绘图的

  • R语言绘制数据可视化小提琴图画法示例

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3. 绘图所需package的安装.调用 Step4. 绘图 小提琴图之前已经画过了,不过最近小仙又看到一种貌美的画法,决定复刻一下.文献中看到的图如下: Step1. 绘图数据的准备 首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式.作图数据如下: Step2. 绘图数据的读取 data<-read.csv("your file path", header = T

  • R语言数据可视化ggplot绘制置信区间与分组绘图技巧

    目录 1. 单组情况 1)构造数据集 2)绘制置信区间 2. 多组情况 方法1 1)构造数据集 2)绘制置信区间 方法2 1)构造数据集 2)绘制置信区间 3)美化 1. 单组情况 1)构造数据集 x <- 1:10 y <- x^2 ci_l <- x^2 - 0.5 * x ci_r <- x^2 + 0.5 * x dat_plot <- data.frame(x, y, ci_l, ci_r) 数据集长下面这样: x y ci_l ci_r 1 1 1 0.5 1.5

  • R语言数据可视化绘图Dot plot点图画法示例

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3.绘图所需package的安装.调用 Step4.绘图 添加平均值 添加误差线 今天要给大家介绍的是点图(Dot plot),点图展示的数据比较简单,但胜在好看啊. 作图数据如下: Step1. 绘图数据的准备 首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式. Step2. 绘图数据的读取 data<-read.csv("your file path", hea

  • 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){fpDraw

  • R语言绘制带ErrorBar的分组条形图代码的分享

    目录 第一种实现方法:用aggregate计算数据 第二种实现方法:用dplyr包计算数据 笔者近期画了一张带error bar的分组条形图,将相关的代码分享一下. 感谢网友青山屋主的建议,提示笔者要严谨区分技术重复和生物学重复,所以笔者对文章做修改后重发.如果各位有任何建议,欢迎指正. 本文旨在给出一种利用R对生物学重复数据画带error bar的分组条形图的方法. 所用数据是模拟生成的:分成三个组,每个组进行了若干次生物学重复:测量的是3种基因的表达量.数据的部分内容如下: ## gene1

  • R语言可视化ggplot2绘制24小时动态血糖图

    目录 数据格式 创建等距时间序列的方法(分钟) 画图代码 数据格式 sample=read.csv("sample.csv",header = T,stringsAsFactors = F)head(sample) 创建等距时间序列的方法(分钟) time=strptime("00:00:00","%H:%M:%S")+300*0:287 #没有填日期的时候,默认日期为今天 画图代码 #time首先要转换成 POSIXct 格式, 下面的brea

  • R语言-使用ifelse进行数据分组

    数据分组,根据数据分析对象的特征,按照一定的数值指标,把数据分析对象划分为不同的区间部分来研究,以揭示内在的联系和规律性: 在R中,我们常用ifelse函数来进行数据的分组,跟excel中的if函数是同一种用法. ifelse(condition,TRUE,FALSE) > data <- read.table('1.csv', sep='|', header=TRUE); > > level <- ifelse( + data$cost<=20, "(0,2

  • R语言UpSet包实现集合可视化示例详解

    目录 前言 一.R包及数据 二.upset()函数 1)基本参数 2)queries参数 3)attribute.plots参数 3.1 添加柱形图和散点图 3.2 添加箱线图 3.3 添加密度曲线图 前言 介绍一个R包UpSetR,专门用来集合可视化,当多集合的韦恩图不容易看的时候,就是它大展身手的时候了. 一.R包及数据 #安装及加载R包 #install.packages("UpSetR") library(UpSetR) #载入数据集 data <- read.csv(&

  • R语言数据可视化tidyr与ggplot2多个变量分层展示举例实现

    目录 每个变量的密度分布情况 思考 tidyr ggplot2进行绘图 在R语言普通的绘图中,使用par()参数可以在一张图上实现不同变量的子图.如果我们想要用ggplot2实现,则需要整理我们的原始数据,这通常是非常麻烦的,这时就需要用到我们的tidyr来帮助我们绘图. 可能说上面一段话不是很容易理解,下面我们来举个栗子. 每个变量的密度分布情况 y1 <- rnorm(20) y2 <- rnorm(20) dat <- data.frame(y1, y2) 现有的数据集: y1 y

  • R语言开发之输出折线图的操作

    线形图是通过在多个点之间绘制线段来连接一系列点所形成的图形,这些点按其坐标(通常是x坐标)的值排序,并且它通常用于识别数据趋势. 在R中的通过使用plot()函数来创建线形图,语法如下: plot(v,type,col,xlab,ylab) 参数描述如下: v - 是包含数值的向量. type - 取值"p"表示仅绘制点,"l"表示仅绘制线条,"o"表示仅绘制点和线. xlab - 是x轴的标签. ylab - 是y轴的标签. main - 是图

  • R语言实现各种数据可视化的超详细教程

    目录 1 主成分分析可视化结果 1.1 查看莺尾花数据集(前五行,前四列) 1.2 使用莺尾花数据集进行主成分分析后可视化展示 2 圆环图绘制 3 马赛克图绘制 3.1 构造数据 3.2 ggplot2包的geom_rect()函数绘制马赛克图 3.3 vcd包的mosaic()函数绘制马赛克图 3.4 graphics包的mosaicplot()函数绘制马赛克图 4 棒棒糖图绘制 4.1 查看内置示例数据 4.2 绘制基础棒棒糖图(使用ggplot2) 4.2.1 更改点的大小,形状,颜色和透

随机推荐