[R] text length in grid

kevin bartz kbartz at loyaltymatrix.com
Tue Jun 29 00:30:49 CEST 2004

Hello! I first would like to compliment the authors of grid on what has been
a wonderfully useful package for me. Now, my question: Is there any way I
can specify the size of some grid.text using grid units?

I must label the regions of a plot. The regions can be either very small or
very large, so I would like to label each by fitting its text to the size of
the region in question. Ideally, I could have nice, big text labeling the
big regions and tiny type in the small regions.

Let me try to illustrate my scenario. Imagine that my plot looks like this:

pushViewport(viewport(layout = grid.layout(5, 2, c(9,1), 1:5)))
for (i in 1:5) {
  pushViewport(viewport(layout.pos.row = i, layout.pos.col = 1))
  pushViewport(viewport(x = 0, width = i/5, height = .8, just = "left"))
  grid.rect(gp = gpar(fill = rainbow(5)[i]))
  grid.yaxis(main = F)
  grid.text("I am some descriptive text.")

Unfortunately, the descriptive text overlaps with the axis for the red
rectangle! Is there any way, given the dimensions of some region on the grid
and the desired text, that I can fit this text to the region?

Sorry if I missed something in the documentation. I really did look at
?grid.text, all the documentation for the grid package, all the PDFs posted
on the grid page as well as previous r-help postings, but none seemed to
address this question. Thanks so much for any help you can provide!


More information about the R-help mailing list