screen {base} | R Documentation |
split.screen
defines a number of regions within the current
device which can, to some extent, be treated as separate graphics
devices. It is useful for generating multiple plots on a single
device. Screens can themselves be split, allowing for quite complex
arrangements of plots.
screen
is used to select which screen to draw in.
erase.screen
is used to clear a single screen.
close.screen
removes the specified screen definition(s).
split.screen(figs, screen, erase = TRUE)
screen(n, new = TRUE)
erase.screen(n)
close.screen(n, all.screens = FALSE)
figs |
A two-element vector describing the number of rows and the number of columns in a screen matrix or a matrix with 4 columns. If a matrix, then each row describes a screen with values for the left, right, bottom, and top of the screen (in that order) in NDC units. |
screen |
A number giving the screen to be split. |
erase |
logical: should be selected screen be cleared? |
n |
A number indicating which screen to prepare for drawing
( |
new |
A logical value indicating whether the screen should be erased as part of the preparation for drawing in the screen. |
all.screens |
A logical value indicating whether all of the screens should be closed. |
The first call to split.screen
places R into split-screen
mode. The other split-screen functions only work within this mode.
While in this mode, certain other commands should be avoided (see WARNINGS
below). Split-screen mode is exited by the command
close.screen(all = TRUE)
split.screen
returns a vector of screen numbers for the
newly-created screens. With no arguments, split.screen
returns
a vector of valid screen numbers.
screen
invisibly returns the number of the selected screen.
With no arguments, screen
returns the number of the current
screen.
close.screen
returns a vector of valid screen numbers.
screen
, erase.screen
, and close.screen
all return
FALSE
if R is not in split-screen mode.
These functions are totally incompatible with the
other mechanisms for arranging plots on a device: par(mfrow)
,
par(mfcol)
, and layout()
.
The functions are also incompatible with some plotting functions,
such as coplot
, which make use of these other mechanisms.
The functions should not be used with multiple devices.
par
, layout
, Devices
,
dev.*
if (interactive()) {
split.screen(c(2,1)) # split display into two screens
split.screen(c(1,3), screen = 2) # now split the bottom half into 3
screen(1) # prepare screen 1 for output
plot(10:1)
screen(4) # prepare screen 4 for output
plot(10:1)
close.screen(all = TRUE) # exit split-screen mode
split.screen(c(2,1)) # split display into two screens
split.screen(c(1,2),2) # split bottom half in two
plot(1:10) # screen 3 is active, draw plot
erase.screen() #forgot label, erase and redraw
plot(1:10, ylab= "ylab 3")
screen(1) # prepare screen 1 for output
plot(1:10)
screen(4) # prepare screen 4 for output
plot(1:10, ylab="ylab 4")
screen(1, FALSE) #return to screen 1, but do not clear
plot(10:1, axes=FALSE, lty=2, ylab="") # overlay second plot
axis(4) # add tic marks to right-hand axis
title("Plot 1")
close.screen(all = TRUE) # exit split-screen mode
}