DT (version 0.9)

styleInterval: Conditional CSS styles

Description

A few helper functions for the formatStyle() function to calculate CSS styles for table cells based on the cell values. Under the hood, they just generate JavaScript and CSS code from the values specified in R.

Usage

styleInterval(cuts, values)

styleEqual(levels, values, default = NULL)

styleColorBar(data, color, angle = 90)

Arguments

cuts

a vector of cut points (sorted increasingly)

values

a vector of CSS values

levels

a character vector of data values to be mapped (one-to-one) to CSS values

default

a string or NULL used as the the default CSS value for values other than levels. If NULL, the CSS value of non-matched cells will be left unchanged.

data

a numeric vector whose range will be used for scaling the table data from 0-100 before being represented as color bars. A vector of length 2 is acceptable here for specifying a range possibly wider or narrower than the range of the table data itself.

color

the color of the bars

angle

a number of degrees representing the direction to fill the gradient relative to a horizontal line and the gradient line, going counter-clockwise. For example, 90 fills right to left and -90 fills left to right.

Details

The function styleInterval() maps intervals to CSS values. Its argument values must be of length n + 1 where n = length(cuts). The right-closed interval (cuts[i - 1], cuts[i]] is mapped to values[i] for i = 2, 3, ..., n; values[1] is for the interval (-Inf, cuts[1]], and values[n + 1] is for (cuts[n], +Inf). You can think of the order of cuts and values using this diagram: -Inf -> values[1] -> cuts[1] -> values[2] -> cuts[2] -> ... -> values[n] -> cuts[n] -> values[n + 1] -> +Inf.

The function styleEqual() maps data values to CSS values in the one-to-one manner, i.e. values[i] is used when the table cell value is levels[i].

The function styleColorBar() can be used to draw background color bars behind table cells in a column, and the width of bars is proportional to the column values.