Skip to main content

Module util

Module util 

Source

Functions§

extended_breaks
Extended-Wilkinson tick locations (Talbot, Lin & Hanrahan 2010), matching R’s scales::extended_breaks() / labeling::extended(). Returns “nice” break values covering [dmin, dmax] with roughly m labels.
format_number
format_numbers
Format a number nicely, removing trailing zeros. Format a set of break values together: like format_number (integers verbatim, otherwise up to 2 decimals, trailing zeros trimmed), but with as many extra decimals as needed so that distinct breaks get distinct labels and no non-zero break prints as “0” — e.g. breaks 0.990/0.992/0.994 read “0.99, 0.992, 0.994” instead of “0.99, 0.99, 0.99”, and a log tick at 0.001 no longer reads “0”. Output is unchanged whenever 2 decimals suffice.
is_degenerate_range
True when [dmin, dmax] is too narrow, relative to its magnitude, to place distinct ticks on (floating-point noise around a constant value).
nice_step
Round step size to a “nice” value (1, 2, 5, 10, 20, 50, …).
stepped_breaks
Evenly spaced break values start, start+step, … up to end (inclusive, with a small tolerance). Index-driven and capped, so it terminates even when step is below the floating-point resolution of start (where repeated v += step would never advance).