gtable_matrix
Create a gtable from a matrix of grobs.
This function takes a matrix of grobs and create a gtable matching with the grobs in the same position as they were in the matrix, with the given heights and widths.
Usage
gtable_matrix(name, grobs, widths = NULL, heights = NULL, z = NULL,
respect = FALSE, clip = "on", vp = NULL)
Arguments
- name
a string giving the name of the table. This is used to name the layout viewport
- grobs
a single grob or a list of grobs
- widths
a unit vector giving the width of each column
- heights
a unit vector giving the height of each row
- z
a numeric matrix of the same dimensions as
grobs
, specifying the order that the grobs are drawn.- respect
a logical vector of length 1: should the aspect ratio of height and width specified in null units be respected. See
grid.layout()
for more details- clip
should drawing be clipped to the specified cells (
"on"
), the entire table ("inherit"
), or not at all ("off"
)- vp
a grid viewport object (or NULL).
Value
A gtable of the same dimensions as the grobs matrix.
See Also
Other gtable construction: gtable_col
,
gtable_row
, gtable_spacer
,
gtable
Examples
# NOT RUN {
library(grid)
a <- rectGrob(gp = gpar(fill = "red"))
b <- circleGrob()
c <- linesGrob()
row <- matrix(list(a, b, c), nrow = 1)
col <- matrix(list(a, b, c), ncol = 1)
mat <- matrix(list(a, b, c, nullGrob()), nrow = 2)
gtable_matrix("demo", row, unit(c(1, 1, 1), "null"), unit(1, "null"))
gtable_matrix("demo", col, unit(1, "null"), unit(c(1, 1, 1), "null"))
gtable_matrix("demo", mat, unit(c(1, 1), "null"), unit(c(1, 1), "null"))
# Can specify z ordering
z <- matrix(c(3, 1, 2, 4), nrow = 2)
gtable_matrix("demo", mat, unit(c(1, 1), "null"), unit(c(1, 1), "null"), z = z)
# }