Change the text color of selected rows and columns of a flextable. A function can be used instead of fixed colors.
When color is a function, it is possible to color cells based on values
located in other columns; using hidden columns (those not used by
argument colkeys) is a common use case. The argument source
must be used to define the columns to be used for the color
definition, and the argument j must be used to define where to apply
the colors and only accepts values from colkeys.
Arguments
- x
a 'flextable' object, see flextable-package to learn how to create 'flextable' object.
- i
row selector, see section Row selection with the
iparameter in <Selectors in flextable>.- j
column selector, see section Column selection with the
jparameter in <Selectors in flextable>.- color
color to use as font color. If a function, the function must return a character vector of colors.
- part
part selector, see section Part selection with the
partparameter in <Selectors in flextable>. Value 'all' can be used.- source
if color is a function, source specifies the dataset column to be used as an argument to
color. This is only useful when j is colored with values contained in other columns.
See also
Other sugar functions for table style:
align(),
bg(),
bold(),
empty_blanks(),
font(),
fontsize(),
highlight(),
italic(),
keep_with_next(),
line_spacing(),
padding(),
rotate(),
style(),
tab_settings(),
valign()
Examples
ft <- flextable(head(mtcars))
ft <- color(ft, color = "orange", part = "header")
ft <- color(ft,
color = "red",
i = ~ qsec < 18 & vs < 1
)
ft
mpg
cyl
disp
hp
drat
wt
qsec
vs
am
gear
carb
21.0
6
160
110
3.90
2.620
16.46
0
1
4
4
21.0
6
160
110
3.90
2.875
17.02
0
1
4
4
22.8
4
108
93
3.85
2.320
18.61
1
1
4
1
21.4
6
258
110
3.08
3.215
19.44
1
0
3
1
18.7
8
360
175
3.15
3.440
17.02
0
0
3
2
18.1
6
225
105
2.76
3.460
20.22
1
0
3
1
if (require("scales")) {
scale <- scales::col_numeric(domain = c(-1, 1), palette = "RdBu")
x <- as.data.frame(cor(iris[-5]))
x <- cbind(
data.frame(
colname = colnames(x),
stringsAsFactors = FALSE
),
x
)
}
