rule_fill_bar: Fill column with a bar of a length proportional to a value

View source: R/rule_fill_bar.R

rule_fill_barR Documentation

Fill column with a bar of a length proportional to a value

Description

Fills the background of a column cell using a bar proportional to the value of the cell

Usage

rule_fill_bar(
  x,
  columns,
  expression,
  low = "darkgreen",
  high = "white",
  background = "white",
  na.value = "gray",
  limits = NA,
  lockcells = FALSE
)

Arguments

x

A condformat object, typically created with condformat()

columns

A character vector with column names to be coloured. Optionally tidyselect::language() can be used.

expression

an expression to be evaluated with the data. It should evaluate to a numeric vector, that will be used to determine the colour gradient level. When columns selects more than one column, the expression is evaluated once per column, with the .col pronoun bound to that column's own values (and limits, if not given, computed from that column alone). If omitted, it defaults to .col.

low

Colour for the beginning of the bar

high

Colour for the end of the bar

background

Background colour for the cell

na.value

Colour for missing values

limits

range of limits that the gradient should cover

lockcells

logical value determining if no further rules should be applied to the affected cells.

Details

In Excel output (condformat2excel()/condformat2excelsheet()), this is rendered using Excel's own native data bar conditional formatting, coloured with low (high, background and lockcells don't apply to it, since Excel data bars are solid-coloured and are a workbook-level conditional formatting rule, not a per-cell style). This only happens when expression is left at its default (or explicitly .col): Excel data bars always reflect a cell's own displayed value against a range, so a custom expression (e.g. sizing one column's bar by another column's values) can't be replicated there and is skipped, with a warning; the cell's flat background/na.value colours are still applied in that case.

Value

The condformat_tbl object, with the added formatting information

See Also

Other rule: rule_css(), rule_fill_discrete(), rule_fill_gradient(), rule_fill_gradient2(), rule_text_bold(), rule_text_color()

Examples

data(iris)
cf <- condformat(iris[c(1:5, 70:75, 120:125), ]) |> rule_fill_bar("Sepal.Length")
## Not run: 
print(cf)

## End(Not run)

condformat documentation built on July 10, 2026, 1:07 a.m.