# 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)
# }
```

*Documentation reproduced from package gtable, version 0.3.0, License: GPL-2*