| wb_color | R Documentation |
wb_color() is a helper function used to define colors for fonts, fills,
borders, and other styling elements. It creates a wbColour object that
encapsulates color information in a format compatible with the OpenXML
specification.
wb_color(
name = NULL,
auto = NULL,
indexed = NULL,
hex = NULL,
theme = NULL,
tint = NULL,
format = c("ARGB", "RGBA")
)
name |
A character string. Can be a standard R color name (e.g., |
auto |
A logical value. If |
indexed |
An integer referencing a legacy indexed color value. |
hex |
A character string representing a hex color (e.g., |
theme |
A zero-based integer index referencing a value in the workbook's theme (usually 0-11). |
tint |
A numeric value between -1.0 (darkest) and 1.0 (lightest) to modify the base color. |
format |
The alpha channel format for hex strings: |
Colors in spreadsheets can be defined in several ways. This function standardizes those inputs into a single object.
Hex Color Formats: Hexadecimal colors represent the intensity of Red, Green, and Blue. A major point of confusion is the Alpha (transparency) channel:
ARGB (Default): Spreadsheet software expects the Alpha value before
the RGB values (e.g., FFFF0000 for solid red).
RGBA: R functions like grDevices::adjustcolor() place the Alpha
value after the RGB values (e.g., FF0000FF for solid red).
Use the format argument to tell wb_color() how to interpret your hex
string if it includes transparency.
Theme Colors:
Instead of hard-coding a hex value, you can use theme. These are indices
(0-based) referencing the workbook's theme palette (e.g., "Text 1", "Accent 1").
Using theme colors allows the spreadsheet's appearance to change
automatically if the user changes the workbook theme.
Tints:
The tint parameter modifies a color's lightness. A value of -0.25
darkens the color by 25%, while 0.5 lightens it by 50%.
A wbColour object (a named character vector).
wb_get_base_colors(), grDevices::colors()
# Using standard R colors
font_col <- wb_color("darkblue")
# Using Hex values with Alpha
bg_col <- wb_color(hex = "FFED7D31") # ARGB for orange
# Using Theme colors with a tint (4th accent color, 40% lighter)
theme_col <- wb_color(theme = 4, tint = 0.4)
# Converting R-style RGBA to spreadsheet-style ARGB
r_col <- adjustcolor("red", alpha.f = 0.5)
xlsx_col <- wb_color(hex = r_col, format = "RGBA")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.