Learn R Programming

oaPlots (version 0.0.25)

prepLegend: Function for arranging plotting layout to accomodate a legend panel

Description

Function for arranging plotting layout to accomodate a legend panel

Usage

prepLegend(layout = c(1, 1), type = if (is.matrix(layout)) "layout" else "mfrow", side = "right", proportion = 0.15, heights = NULL, widths = NULL)

Arguments

layout
layout vector or matrix
type
type of layout; either "mfrow" or "layout"
side
side of the plot to place legend on; one of "top", "bottom", "left" or "right"
proportion
proportion of plotting window to allocate to legend
heights
height vector for original layout (before the legend panel is appended)
widths
width vector for original layout (before the legend panel is appended)

Value

none; layout is passed to current device

Examples

Run this code
layout <- c(2,3);
side <- "left"
proportion <- 0.2

prepLegend(layout = layout, side = side, proportion = proportion)
for(i in 1:(layout[1]*layout[2]))
	plot(1:7, 1:7, col = 1:7, pch = 19, cex = 2.2, xaxt = "n",
			yaxt = "n", ann = FALSE)
addLegend(legend = paste("Group", 1:7), font = 2,
		pch = 19, pt.cex = 2, text.col = 1:7, col = 1:7,
		y.intersp = 1.5, cex = 1.5)


layout = rbind(c(1, 2, 3), c(0, 4, 3), c(0, 4, 5))
side = "right"
proportion = 0.15

prepLegend(layout = layout, side = side, proportion = proportion)
for(i in 1:max(layout))
	plot(1:7, 1:7, col = 1:7, pch = 19, cex = 2.2, xaxt = "n",
			yaxt = "n", xlab = "", ylab = "", main = paste("Plot", i))
addLegend(legend = paste("Group", 1:7), font = 2,
		pch = 19, pt.cex = 2, text.col = 1:7, col = 1:7,
		y.intersp = 1.5, cex = 1.5)

Run the code above in your browser using DataLab