Formatting
Formatting provides the ability to do complex variable substitutions and value formatting.
Number format
The numeric format strings are used to format common numeric types. The general form of a format specifier is:
fill
— can be any character, defaults to a space if omitted. The presence of a fill character is signaled by the*align*
character following it, which must be one of the alignment options.align
— the various alignment options are as follows:>
— forces the field to be right-aligned within the available space (default behavior);<
— forces the field to be left-aligned within the available space;^
— forces the field to be centered within the available space;=
— like>
, but with any sign and symbol to the left of any padding.
sign
can be:-
— nothing for zero or positive and a minus sign for negative (default behavior);+
— a plus sign for zero or positive and a minus sign for negative;(space) — a space for zero or positive and a minus sign for negative.
symbol
can be:$
— apply currency symbols per the locale definition;#
— for binary, octal, or hexadecimal notation, prefix by0b
,0o
, or0x
, respectively.
zero
(0
) option enables zero-padding; this implicitly sets fill to0
and align to=
.width
defines the minimum field width; if not specified, then the width will be determined by the content.comma
(,
) option enables the use of a group separator, such as a comma, for thousands.precision
depending on thetype
, theprecision
either indicates the number of digits that follow the decimal point (typesf
and%
), or the number of significant digits (types,
e
,g
,r
,s
andp
). If the precision is not specified, it defaults to 6 for all types except (none), which defaults to 12. Precision is ignored for integer formats (typesb
,o
,d
,x
,X
andc
).type
determines how the data should be presented:e
— exponent notation;f
— fixed point notation;g
— either decimal or exponent notation, rounded to significant digits;s
— decimal notation with an SI prefix, rounded to significant digits;%
— multiply by 100, and then decimal notation with a percent sign;b
— binary notation, rounded to integer;o
— octal notation, rounded to integer;d
— decimal notation, rounded to integer;x
— hexadecimal notation, using lower-case letters, rounded to integer;X
— hexadecimal notation, using upper-case letters, rounded to integer;c
— simple toString.
The following SI prefixes are supported for
s
type:y
— yocto, 10⁻²⁴z
— zepto, 10⁻²¹a
— atto, 10⁻¹⁸f
— femto, 10⁻¹⁵p
— pico, 10⁻¹²n
— nano, 10⁻⁹µ
— micro, 10⁻⁶m
— milli, 10⁻³(none) - 10⁰
k
— kilo, 10³M
— mega, 10⁶G
— giga, 10⁹T
— tera, 10¹²P
— peta, 10¹⁵E
— exa, 10¹⁸Z
— zetta, 10²¹Y
— yotta, 10²⁴
Examples of Number Format
Let's format the number 42
:
Some other examples:
String template
The number format can be used in a template to create a string with variable substitution. The string template contains “replacement fields” surrounded by curly braces {}
. Anything not contained in braces is considered literal text, which is copied unchanged to the result string. If you need to include a brace character in the literal text, it can be escaped by doubling: {}. This approach is used in function tooltips()
to customize the content of tooltips.
Date and Time Format
Provides formats for date and time values.
The list of supported directives to format date/time values:
%a
— weekday as an abbreviated name (Sun, Mon, …, Sat);%A
— weekday as a full name (Sunday, Monday, …, Saturday)%b
— month as an abbreviated name (Jan, Feb, …, Dec);%B
— month as a full name (January, February, …, December);%d
— day of the month as a zero-padded decimal number (01, 02, …, 31);%e
— day of the month as a decimal number (1, 2, …, 31);%j
— day of the year as a zero-padded decimal number (001, 002, …, 366).%m
— month as a zero-padded decimal number (01, 02, …, 12);%w
— weekday as a decimal number, where 0 is Sunday and 6 is Saturday (0, 1, …, 6);%y
— year without century as a zero-padded decimal number (00, 01, …, 99);%Y
— year with century as a decimal number (0001, 0002, …, 2013, 2014, …, 9998, 9999);%H
— hour (24-hour clock) as a zero-padded decimal number (00, 01, …, 23);%I
— hour (12-hour clock) as a zero-padded decimal number (01, 02, …, 12);%l
— hour (12-hour clock) as a decimal number (1, 2, …, 12);%M
— minute as a zero-padded decimal number (00, 01, …, 59);%p
— "AM" or "PM" according to the given time value;%P
— like %p but in lowercase: "am" or "pm";%S
— second as a zero-padded decimal number (00, 01, …, 59).
Examples of Date and Time Format
Let's apply the format string to the date Aug 6, 2019
and the time 4:46:35
:
Label Format
rownames | date | pce | pop | psavert | uempmed | unemploy |
---|---|---|---|---|---|---|
403 | 2001-01-01 | 6977 | 283920 | 4.8 | 5.8 | 6023 |
404 | 2001-02-01 | 6995.8 | 284137 | 4.9 | 6.1 | 6089 |
405 | 2001-03-01 | 6987.9 | 284350 | 5.3 | 6.6 | 6141 |
406 | 2001-04-01 | 7001.2 | 284581 | 5 | 5.9 | 6271 |
407 | 2001-05-01 | 7047.1 | 284810 | 4.5 | 6.3 | 6226 |
Default plot (no formatting)
Apply formatting to X and Y axis labels
Use the format
parameter in breaks()
for axis.
Format axis labels for breaks specified manually
Configure tooltip's text and location
Format value shown in tooltip
Adding to the unemployment rate mean
Tooltip Customization
You can format text in tooltips, see: Tooltips.