Create Grid Graphical Objects, aka "Grob"s

Creating grid graphical objects, short (“grob”s).

grob() and gTree() are the basic creators, grobTree() and gList() take several grobs to build a new one.

## Grob Creation:

grob (..., name = NULL, gp = NULL, vp = NULL, cl = NULL) gTree(..., name = NULL, gp = NULL, vp = NULL, children = NULL, childrenvp = NULL, cl = NULL) grobTree(..., name = NULL, gp = NULL, vp = NULL, childrenvp = NULL, cl = NULL) gList(...)

## Grob Properties: childNames(gTree) is.grob(x)


For grob and gTree, the named slots describing important features of the graphical object. For gList and grobTree, a series of grob objects.


a character identifier for the grob. Used to find the grob on the display list and/or as a child of another grob.


a "gList" object.


a viewport object (or NULL).


A gpar object, typically the output from a call to the function gpar. This is basically a list of graphical parameter settings.


a viewport object (or NULL).


string giving the class attribute for the new class.


a "gTree" object.


An R object.


These functions can be used to create a basic "grob", "gTree", or "gList" object, or a new class derived from one of these.

A grid graphical object (“grob”) is a description of a graphical item. These basic classes provide default behaviour for validating, drawing, and modifying graphical objects. Both grob() and gTree() call the function validDetails to check that the object returned is internally coherent.

A "gTree" can have other grobs as children; when a gTree is drawn, it draws all of its children. Before drawing its children, a gTree pushes its childrenvp slot and then navigates back up (calls upViewport) so that the children can specify their location within the childrenvp via a vpPath.

Grob names need not be unique in general, but all children of a gTree must have different names. A grob name can be any string, though it is not advisable to use the gPath separator (currently ::) in grob names.

The function childNames returns the names of the grobs which are children of a gTree.

All grid primitives (grid.lines, grid.rect, ...) and some higher-level grid components (e.g., grid.xaxis and grid.yaxis) are derived from these classes.

grobTree is just a convenient wrapper for gTree when the only components of the gTree are grobs (so all unnamed arguments become children of the gTree).

The grid.grob function is defunct.


An R object of class "grob", a graphical object.

See Also

grid.draw, grid.edit, grid.get.

  • grob
  • gTree
  • grobTree
  • childNames
  • gList
  • is.grob
Documentation reproduced from package grid, version 3.4.1, License: Part of R 3.4.1

Community examples

Looks like there are no examples yet.