unikn (version 0.1.0)

mark: Plot marked (or highlighted) text elements.

Description

mark plots 1 or more text strings (provided as a character vector labels) to an (existing or new) plot and places a colored box behind each label to mark it (i.e., highlight or make it stand out from the background).

Usage

mark(labels, x = 0, y = 0.55, y_layout = "even", col = "black",
  col_bg = Seeblau, cex = 2, font = 2, new_plot = "none")

Arguments

labels

A character vector specifying the text labels to be plotted.

x

A numeric vector of x-coordinates at which the text labels in labels should be written. If the lengths of x and y differ, the shorter one is recycled. Default: x = 0.

y

A numeric vector of y-coordinates at which the text labels in labels should be written. If the lengths of x and y differ, the shorter one is recycled. Default: y = .55.

y_layout

A numeric value or vector for the vertical spacing of labels in labels. 2 special values are "even" (i.e., even distribution of labels across available y-space) and "flush" (i.e., no space between adjacent labels, or y_layout = 0). Default: y_layout = "even".

col

The color(s) of the text label(s). Default: col_lbl = "black".

col_bg

The color(s) to highlight or fill the rectangle(s) with. Default: col_bg = Seeblau.

cex

Numeric character expansion factor(s), multiplied by par("cex") to yield the character size(s). Default: cex = 2.

font

The font type(s) to be used. Default: font = 2 (i.e., bold).

new_plot

Should a new plot be generated? Set to "blank" or "slide" to create a new plot. Default: new_plot = "none" (i.e., add to an existing plot).

Details

The positions of the text elements in labels can be specified by providing their coordinates (as x and y arguments) or by providing an initial position and an y_layout (see below).

Text formatting parameters (like col, col_bg, cex, font) are recycled to match length(labels).

mark uses the base graphics system graphics::.

See Also

slide and xbox to create simple plots (without text).

Other text functions: post, uline, url_unikn

Examples

Run this code
# NOT RUN {
# Basics: 
mark(labels = "This is a test.", new_plot = "blank")  # create a new blank plot
mark(labels = "More testing here...", y = .45, col_bg = pal_pinky[[2]])  # add to plot

# Example: 
# (a) Mark text on an existing plot:
plot(x = 0, y = 0, type = "n", xlim = c(0, 1), ylim = c(0, 1), xlab = "", ylab = "")
mark(x = 0, y = .8, labels = "Mark (on an existing plot)")  # uses existing plot

# (b) Mark text on a new plot:
mark(x = 0, y = .8, labels = "Mark (and create a new plot)", 
     new_plot = "slide")  # starts a new plot

# (c) More text and decorations:
mark(x = 0, y = c(.60, .50), 
     labels = c("Highlighting text is simple", "and effective"),
     cex = 1.5, col_bg = c(pal_seeblau[[2]], pal_seeblau[[1]]))

mark(labels = c("It is also flexible", "but to be handled with care"),
     x = .4, y = .3, y_layout = "flush", cex = 1.2,
     col = c("white", "black"), col_bg = c(pal_seeblau[[5]], "gold"))

# }

Run the code above in your browser using DataLab