改变图例边框和图例标题之间的间距

时间:2021-06-07 15:00:03

I am attempting to save a plot as a metafile (*.emf) using RStudio. The formatting of the plot looks okay in the *.emf file except that there is no gap between the top border of the legend and the legend title. How can I add such a gap? I am using base R.

我尝试使用RStudio保存一个图作为元文件(*.emf)。情节的格式在*中看起来还不错。emf文件,除了在图例的顶部边框和图例标题之间没有间隙。我怎么能加上这样的差距呢?我用的是基数R。

Here is the code. I cannot upload an *.emf file to Stack Overflow.

这是代码。我不能上传*。将emf文件堆溢出。

cov       <- 1:20

B0.1      <-  0.2
B1.1      <-  0.2
B0.2      <- -0.2
B1.2      <-  0.1
B0.3      <- -0.6
B1.3      <- -0.02

y.1 <- exp(B0.1 + B1.1 * cov) / (1 + exp(B0.1 + B1.1 * cov))
y.2 <- exp(B0.2 + B1.2 * cov) / (1 + exp(B0.2 + B1.2 * cov))
y.3 <- exp(B0.3 + B1.3 * cov) / (1 + exp(B0.3 + B1.3 * cov))

par(mfrow=c(1,1), pty="s")

plot(cov, y.1, bty = "l", type = 'l', col = 'black', lwd = 2, lty = 1, 
     xlab = 'Cov', ylab = 'Probability', ylim=c(0,1))

     lines(cov, y.2, type = 'l', col = 'black', lwd = 2, lty = 2)
     lines(cov, y.3, type = 'l', col = 'black', lwd = 2, lty = 3)

     abline(v = 10, lwd = 2, lty = 6)

     title('My Plot')

     op <- par(cex = .67)

     legend("bottomright",          c('Prob 1', 'Prob 2', 'Prob 3'), 
                              col = c("black", "black", "black"), 
                              lty = c(1, 2, 3),
                              lwd = c(2, 2, 2),

                              y.intersp = c(1.5, 1.5, 1.5),

                              title = "Legend", cex = 1.00, text.width = 2.50)

1 个解决方案

#1


4  

Print the border of the legend afterwards with your own positions:

然后用你自己的位置打印传奇的边框:

First a legend without a border (set bty to "n" ), save the positions in "a":

首先是一个没有边框的图例(将bty设置为n),保存在a中的位置:

a <- legend("bottomright",c('Prob 1', 'Prob 2', 'Prob 3'), 
       col = c("black", "black", "black"), 
       lty = c(1, 2, 3),bty="n",
       lwd = c(2, 2, 2),
       y.intersp = c(1.5, 1.5, 1.5),
       title = "Legend", cex = 1.00, text.width = 2.50)

Define your own positions of the rectangle:

定义您自己的矩形位置:

rect(a$rect$left, a$rect$top-a$rect$h[1], a$rect$left+a$rect$w, a$rect$h[1])

#1


4  

Print the border of the legend afterwards with your own positions:

然后用你自己的位置打印传奇的边框:

First a legend without a border (set bty to "n" ), save the positions in "a":

首先是一个没有边框的图例(将bty设置为n),保存在a中的位置:

a <- legend("bottomright",c('Prob 1', 'Prob 2', 'Prob 3'), 
       col = c("black", "black", "black"), 
       lty = c(1, 2, 3),bty="n",
       lwd = c(2, 2, 2),
       y.intersp = c(1.5, 1.5, 1.5),
       title = "Legend", cex = 1.00, text.width = 2.50)

Define your own positions of the rectangle:

定义您自己的矩形位置:

rect(a$rect$left, a$rect$top-a$rect$h[1], a$rect$left+a$rect$w, a$rect$h[1])