stringrtextplot

R - Plot Only Text


Curious how one might create a plot with only text information. This will essentially be a "print" for the plot window.

The best option I've found so far is the following:

  library(RGraphics)
  library(gridExtra)

    text = paste("\n   The following is text that'll appear in a plot window.\n",
           "       As you can see, it's in the plot window",
           "       One might imagine useful informaiton here")
    grid.arrange(splitTextGrob(text))


enter image description here


However, one doesn't have control (as far as I can tell) over font type, size, justification and so on.


Solution

  • You can do this using base graphics. First you'll want to take away all of the margins from the plot window:

    par(mar = c(0,0,0,0))
    

    And then you'll plot an empty plot:

    plot(c(0, 1), c(0, 1), ann = F, bty = 'n', type = 'n', xaxt = 'n', yaxt = 'n')
    

    Here's a guide to what's going on here (use ?plot.default and ?par for more details):

    Now to plot the text. I took out the extra spaces because they didn't seem to be necessary.

    text(x = 0.5, y = 0.5, paste("The following is text that'll appear in a plot window.\n",
                                 "As you can see, it's in the plot window\n",
                                 "One might imagine useful informaiton here"), 
         cex = 1.6, col = "black")
    

    enter image description here

    Now to restore the default settings

    par(mar = c(5, 4, 4, 2) + 0.1)
    

    I hope that helps!