This function attempts to break lomg character strings into multiple lines by replacing a given pattern by a newline character.
formatLabels(
labels,
maxCharPerLine = 14,
maxWidth = NULL,
maxLines = Inf,
cex = 1,
split = " ",
fixed = TRUE,
newsplit = split,
keepSplitAtEOL = TRUE,
capitalMultiplier = 1.4,
eol = "\n",
ellipsis = "...")Character strings to be formatted.
Integer giving the maximum number of characters per line.
Maximum width in user coordinates. If given, overrides maxCharPerLine above and
usually gives a much more efficient formatting.
Maximum lines to retain. If a label extends past the maximum number of lines,
ellipsis is added at the end of the last line.
Character expansion factor that the user intends to use when adding labels to the current
figure. Only used when maxWidth is specified.
Pattern to be replaced by newline ('\n') characters.
Logical: Should the pattern be interpreted literally (TRUE) or as a regular expression (FALSE)?
See strsplit and its argument fixed.
Character string to replace the occurrences of split above with.
When replacing an occurrence of split with a newline character, should the newsplit be added
before the newline as well?
A multiplier for capital letters which typically occupy more space than lowercase letters.
Character string to separate lines in the output.
Chararcter string to add to the last line if the input label is longer than fits on
maxLines lines.
A character vector of the same length as input labels.
Each given element of labels is processed independently. The character string is split using
strsplit, with split as the splitting pattern. The resulting shorter character strings are
then concatenated together with newsplit as the separator. Whenever the length (adjusted using the
capital letter multiplier) of the combined
result from the start or the previous newline character exceeds maxCharPerLine, or
strwidth exceeds maxWidth, the character specified by eol
is inserted (at the previous split).
Note that individual segements (i.e., sections of the input between occurrences of split) whose
number of characters exceeds maxCharPerLine will not be split.
# NOT RUN {
s = "A quick hare jumps over the brown fox";
formatLabels(s);
# }
Run the code above in your browser using DataLab