Search code examples
rtextr-grid

Saving a text box to pdf in R


I am trying to create a bullet-point type list in R, and want to save it in pdf, which successfully resulted in printing the bullet-point list on a window:

 a = paste0("Starting portfolio value: $", prettyNum(1000000,big.mark=",",scientific=F))
 b = "Inflation assumptions of 3% annually"
 c = "Average annual returns: 6%"
 d ="Average annual volatility: 7%"

 text = paste(a, "\n", b, "\n", c, "\n", d, "\n")

 library(grid)
 grid.points(x = rep(10,4), y = c(295, 318, 338, 360), pch = 15, gp = gpar(cex = 0.5))
 grid.text(text, x = 0.05, hjust = 0, gp = gpar(fontsize = 11))

enter image description here

However, I would like to be able to save this to a pdf, along with two other graphs on the same page.

Any way of doing that? Thanks!


Solution

  • Try something like this:

    a = paste0("Starting portfolio value: $", prettyNum(1000000,big.mark=",",scientific=F))
    b = "Inflation assumptions of 3% annually"
    c = "Average annual returns: 6%"
    d ="Average annual volatility: 7%"
    
    pdf('out.pdf',width=5,height=5)
    plot(NA, xlim=c(0,5), ylim=c(0,5), bty='n',
         xaxt='n', yaxt='n', xlab='', ylab='')
    text(1,4,a, pos=4)
    text(1,3,b, pos=4)
    text(1,2,c, pos=4)
    text(1,1,d, pos=4)
    points(rep(1,4),1:4, pch=15)
    dev.off()
    

    Here's the approximate output:

    enter image description here