# Transform a layout matrix into a position one

### Description

This function transforms layout's informations into a position matrix useful for
`ADEgS`

and for `lattice`

graphics.

### Usage

1 2 |

### Arguments

`mat` |
a matrix indicating the location of figures to display (each value must be 0 or a positive integer) or a two-length vector indicating the number of rows and columns in the corresponding layout. |

`widths` |
a vector of relative values for the columns' widths on the device. Their sum must be equal to the number of columns. |

`heights` |
a vector of relative values for the rows' heights on the device. Their sum must be equal to the number of rows. |

`ng` |
a value for the number of positions needed (i.e. the number of graphics to plot) |

`square` |
a logical indicating if the graphics is an isometric plot |

### Value

A four-columns matrix indicating the coordinates (in normalized parent coordinates `npc`

)
of the top-right and bottom-left hand corners of each displayed figure on the device.

### Note

This function is strongly inspired by the `layout`

function in `graphics`

package.

### Author(s)

Alice Julien-Laferriere, Aurelie Siberchicot aurelie.siberchicot@univ-lyon1.fr and Stephane Dray

### See Also

`layout`

### Examples

1 2 | ```
layout2position(mat = rbind(c(0, 0, 1), c(2, 2, 1)))
layout2position(mat = cbind(c(0, 0, 1), c(2, 2, 1)), widths = c(0.5, 1.5))
``` |