From 70380b3c8b18fb80bac739f8418335b33add016e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20B=C3=BCtikofer?= Date: Thu, 18 Dec 2025 10:51:13 +0100 Subject: [PATCH 1/2] plot reference line before data --- DESCRIPTION | 2 +- NEWS.md | 5 +++- R/forest.R | 78 ++++++++++++++++++++++++++++++----------------------- 3 files changed, 49 insertions(+), 36 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 0653a98..605f445 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: forplot Title: Forest plots -Version: 0.0.2 +Version: 0.0.3 Authors@R: person("Lukas", "Bütikofer", , "lukas.buetikofer@unibe.ch", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-0801-746X")) diff --git a/NEWS.md b/NEWS.md index a533719..bf1c8b9 100644 --- a/NEWS.md +++ b/NEWS.md @@ -6,5 +6,8 @@ ordering of columns according to input forplot 0.0.2 ------------------ +bug fix in help file -bug fix in help file \ No newline at end of file +forplot 0.0.3 +------------------ +plotting reference line before data \ No newline at end of file diff --git a/R/forest.R b/R/forest.R index 7eb1c4e..83531d1 100644 --- a/R/forest.R +++ b/R/forest.R @@ -1,8 +1,8 @@ #************************************# #* Function for forest plots #* Author: Lukas Buetikofer -#* Date created: 03.05.2018 -#* Last update: November 2020 +#* Date created: 2018-05-03 +#* Last update: 2025-12 #* **********************************# #' forest @@ -319,6 +319,23 @@ fplot<-function(dat, #%%%%%%%%%%% plot(0,type="n",xlim=xlim,ylim=ylim,yaxt="n",ylab="",xlab="",axes=FALSE) + + #lines and axis + if (!is.na(ref[["x"]])) { + lines(x=rep(ref[["x"]],2),y=c(ylim[1]-shift_ymin+shift_xaxis,ylim[2]+shift_ymax+ref[["extend"]]), + lty=ref[["lty"]],col=ref[["col"]],lwd=ref[["lwd"]]) + } + if (sum(!is.na(xlab_text))==0) { + xlab_text<-xlab + } + axis(side=1,pos=shift_xaxis,at=xlab,labels=rep("",length(xlab)),las=1,tick=TRUE,tck=tck,lwd=lwd) + mtext(side=1,line=xlab_line,at=xlab,text=xlab_text,cex=xlab_cex) + + if (!is.na(bottomline)) { + lines(x=c(par("usr")[1],par("usr")[2]),y=c(shift_xaxis,shift_xaxis),xpd=TRUE) + } + + #points and arrows #symbols(dat$beta,y.at,squares=1/dat$beta_se,add=TRUE,inches=0.15,bg=pcol,fg=NA) points(dat$beta,y.at,pch=ps[["pch"]],cex=ps[["cex"]],col=ps[["col"]]) arrows(y0=y.at,y1=y.at,x0=dat$beta_lci,x1=dat$beta_uci,code=3,angle=90,length=0) @@ -353,26 +370,15 @@ fplot<-function(dat, arrows(y0=y.at,y1=y.at,x0=dat$beta_lci,x1=dat$beta_uci,code=3,angle=90,length=cap_length) } - #lines and axis - if (!is.na(ref[["x"]])) { - lines(x=rep(ref[["x"]],2),y=c(ylim[1]-shift_ymin+shift_xaxis,ylim[2]+shift_ymax+ref[["extend"]]), - lty=ref[["lty"]],col=ref[["col"]],lwd=ref[["lwd"]]) - } - if (sum(!is.na(xlab_text))==0) { - xlab_text<-xlab - } - axis(side=1,pos=shift_xaxis,at=xlab,labels=rep("",length(xlab)),las=1,tick=TRUE,tck=tck,lwd=lwd) - mtext(side=1,line=xlab_line,at=xlab,text=xlab_text,cex=xlab_cex) - - if (!is.na(bottomline)) { - lines(x=c(par("usr")[1],par("usr")[2]),y=c(shift_xaxis,shift_xaxis),xpd=TRUE) - } + #2nd beta: ########## - - #text: if (!is.null(beta2)) { + + #2nd beta text: + ########## + plot(0,type="n",xlim=c(0,1),ylim=ylim,yaxt="n",ylab="",xlab="",axes=FALSE) if (sum(grepl("beta_format2",colnames(dat)))==0) { if (lscale) { @@ -390,9 +396,26 @@ fplot<-function(dat, lines(x=c(par("usr")[1],par("usr")[2]),y=c(shift_xaxis,shift_xaxis),xpd=TRUE) } - #beta2 - + #2nd beta + ####### plot(0,type="n",xlim=xlim2,ylim=ylim,yaxt="n",ylab="",xlab="",axes=FALSE) + + #lines and axis + if (!is.na(ref[["x"]])) { + lines(x=rep(ref[["x"]],2),y=c(ylim[1]-shift_ymin+shift_xaxis,ylim[2]+shift_ymax+ref[["extend"]]), + lty=ref[["lty"]],col=ref[["col"]],lwd=ref[["lwd"]]) + } + if (sum(!is.na(xlab_text2))==0) { + xlab_text2<-xlab2 + } + axis(side=1,pos=shift_xaxis,at=xlab2,labels=rep("",length(xlab2)),las=1,tick=TRUE,tck=tck,lwd=lwd) + mtext(side=1,line=xlab_line,at=xlab2,text=xlab_text2,cex=xlab_cex) + + if (!is.na(bottomline)) { + lines(x=c(par("usr")[1],par("usr")[2]),y=c(shift_xaxis,shift_xaxis),xpd=TRUE) + } + + #points and arrows points(dat$beta2,y.at,pch=ps[["pch"]],cex=ps[["cex"]],col=ps[["col"]]) arrows(y0=y.at,y1=y.at,x0=dat$beta_lci2,x1=dat$beta_uci2,code=3,angle=90,length=0) @@ -426,20 +449,7 @@ fplot<-function(dat, arrows(y0=y.at,y1=y.at,x0=dat$beta_lci2,x1=dat$beta_uci2,code=3,angle=90,length=cap_length) } - #lines and axis - if (!is.na(ref[["x"]])) { - lines(x=rep(ref[["x"]],2),y=c(ylim[1]-shift_ymin+shift_xaxis,ylim[2]+shift_ymax+ref[["extend"]]), - lty=ref[["lty"]],col=ref[["col"]],lwd=ref[["lwd"]]) - } - if (sum(!is.na(xlab_text2))==0) { - xlab_text2<-xlab2 - } - axis(side=1,pos=shift_xaxis,at=xlab2,labels=rep("",length(xlab2)),las=1,tick=TRUE,tck=tck,lwd=lwd) - mtext(side=1,line=xlab_line,at=xlab2,text=xlab_text2,cex=xlab_cex) - - if (!is.na(bottomline)) { - lines(x=c(par("usr")[1],par("usr")[2]),y=c(shift_xaxis,shift_xaxis),xpd=TRUE) - } + } #p columns From a836fb54d48c24b5f6c733e9507fe5c4443da59c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 18 Dec 2025 09:53:35 +0000 Subject: [PATCH 2/2] Re-build helpfiles --- man/figures/README-unnamed-chunk-8-1.png | Bin 49393 -> 49394 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/man/figures/README-unnamed-chunk-8-1.png b/man/figures/README-unnamed-chunk-8-1.png index b1f2830e69a695c65e301d2aa0b2d5969975097e..4af655ba7c55e26810cbdeda5fc23875a25d413a 100644 GIT binary patch delta 16066 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 delta 16042 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