使用R中的图表包更改流程图中的箭头

时间:2018-08-03 16:10:29

标签: r flowchart

我正在尝试使用R中的图表包创建流程图。我希望​​3个中间坐标保持在右边。它们是(3,4)(4,5)和(5,6),但它们位于中间。对于4、5和6堆叠在3以下的盒子,我该怎么办?为了使3个框在右侧而不是在中心对齐,是否必须在左侧有一些内容?我已经在下面发布了我的代码。

谢谢

pdf("testchart.pdf")
require(diagram)
openplotmat()


elpos<-coordinates(c(1,2,1,1,1,2,4))

fromto <- matrix(ncol=2,byrow=TRUE,
             data=c(1,2,
                    1,3,
                    3,4,
                    4,5,
                    5,6,
                    2,7, 
                    6,8,
                    7,9,
                    7,10,
                    8,11,
                    8,12
                  )
        )

nr     <-nrow(fromto)

arrpos <- matrix(ncol=2,nrow=nr)

for (i in 1:nr) 
 arrpos[i,] <- treearrow (  
                    to=elpos[fromto[i,2],],
                    from=elpos[fromto[i,1],],
                    lwd=1,arr.pos=0.5,
                    arr.side=1,
                    centre=NULL,
                    arr.length=0.5
                   )
my_text_size <- 1.3

 textrect   (elpos[1,],radx=.3,rady=.05,cex=0.8,lab=paste("test"))

 textrect   (elpos[2,],radx=.15,rady=.05,cex=0.8,lab=paste("test"))

 textrect   (elpos[3,],radx=.15,rady=.05,cex=0.8,lab=paste("test"))

 textrect   (elpos[4,],radx=.15,rady=.06,cex=0.8,lab=paste("test"))

 textrect   (elpos[5,],radx=.15,rady=.06,cex=0.8,lab=paste("test"))

 textrect   (elpos[6,],radx=.15,rady=.06,cex=0.8,lab=paste("test"))

 textrect   (elpos[7,],radx=.2,rady=.04,cex=0.8,lab=paste("test"))

 textrect   (elpos[8,],radx=.2,rady=.04,cex=0.8,lab=paste("test"))

 textrect   (elpos[9,],radx=.1,rady=.05,cex=0.8,lab=paste("test"))

 textrect   (elpos[11,],radx=.1,rady=.05,cex=0.8,lab=paste("test"))

 textrect   (elpos[10,],radx=.1,rady=.05,cex=0.8,lab=paste("test"))

 textrect   (elpos[12,],radx=.1,rady=.05,cex=0.8,lab=paste("test"))


dev.off()

0 个答案:

没有答案