grepal returns a vector of colors whose names match a regular expression (regex).
grepal(pattern, x = colors(), ignore_case = TRUE, plot = TRUE)A regular expression (specified as a string/character object).
A vector of R color names or a data frame of named colors
(i.e., whose names can be searched).
Default: x = colors().
Should the case of pattern be ignored
(passed to ignore.case of the grep function)?
Default: ignore_case = TRUE.
Boolean: Plot the output (using seecol)?
Default: plot = TRUE.
By default, the base R vector of named colors (i.e., colors()) is searched
for names matching a pattern (which can be a simple string or regular expression).
If x (i.e., the object to be searched) is provided,
it is must be a vector of color names or a data frame of named color objects
(i.e., a color palette).
If plot = TRUE, grepal also visualizes the detected colors
(by passing its result to seecol, as a side-effect).
This function facilitates searching colors by name and
yields (a vector of) colors of similar color hue (provided
that the color's hue is expressed in a color's name).
Its name grepal is an abbreviation of grep and "pal".
seecol for viewing and comparing color palettes;
usecol for using color palettes;
simcol for finding similar colors;
newpal for defining new color palettes;
shades_of to defining shades of a given color;
ac for adjusting color transparency;
pal_unikn for the default uni.kn color palette.
Other color functions:
ac(),
demopal(),
newpal(),
seecol(),
shades_of(),
simcol(),
usecol()
grepal("tan")
#> Searching the elements of x
#> [1] "tan" "tan1" "tan2" "tan3" "tan4"
# With regular expressions:
some_grey <- grepal("gr(a|e)y", plot = FALSE)
#> Searching the elements of x
start_grey <- grepal("^gr(a|e)y", plot = FALSE)
#> Searching the elements of x
only_grey <- grepal("^gr(a|e)y$", plot = FALSE)
#> Searching the elements of x
length(some_grey)
#> [1] 224
length(only_grey)
#> [1] 2
# With other color objects (df as x):
grepal("blau", x = pal_unikn)
#> Searching the names of x
#> seeblau5 seeblau4 seeblau3 seeblau2 seeblau1
#> 1 #008ECE #00A9E0 #59C7EB #A6E1F4 #CCEEF9
grepal("SEE", x = pal_unikn_pref, ignore_case = FALSE)
#> Searching the names of x
#> [1] NA
# Applications:
seecol(grepal("white"), col_bg = "lightblue2", main = "See 'white' colors()")
#> Searching the elements of x
olives <- grepal("olive", plot = FALSE)
#> Searching the elements of x
oranges <- grepal("orange", plot = FALSE)
#> Searching the elements of x
seecol(list(olives, oranges),
pal_names = c("olives", "oranges"),
main = "Comparing olives and oranges")