flow_view() shows the code of a function as a flow diagram,
runs a call and draws the logical path taken by the code.
flow_view( x, prefix = NULL, code = TRUE, narrow = FALSE, truncate = NULL, nested_fun = NULL, swap = TRUE, out = NULL, engine = c("nomnoml", "plantuml") ) flow_run( x, prefix = NULL, code = TRUE, narrow = FALSE, truncate = NULL, swap = TRUE, out = NULL, browse = FALSE )
a call, a function, or a path to a script
prefix to use for special comments in our code used as block headers,
must start with
"#", several prefixes can be provided
Whether to display the code in code blocks or only the header,
to be more compact, if
NA, the code will be displayed only if no header
is defined by special comments
TRUE makes sure the diagram stays centered on one column
(they'll be longer but won't shift to the right)
maximum number of characters to be printed per line
NULL, the index or name of the function definition found in
x that we wish to inspect
whether to change
var <- if(cond) expr into
if(cond) var <- expr so the diagram displays better
a path to save the diagram to. Special values "html", "htm", "png", "pdf", "jpg" and "jpeg" can be used to export the object to a temp file of the relevant format and open it, if a regular path is used the format will be guessed from the extension. Other special values "data" and "code" can be used for respectively retrieving the graph data as a data frame and the diagram code.
"nomnoml" (default) or
"plantuml" (experimental), if
the latter, arguments
whether to debug step by step (block by block),
can also be a vector of block ids, in this case
browser() calls will be
inserted at the start of these blocks
flow_view() returns a
"flow_diagram" object by default, and the output path invisibly if
out is not
NULL (called for side effects).
flow_run() returns the output of the wrapped call.
On some system the output might sometimes display the box character when using
the nomnoml engine, this is due to the system not recognizing the Braille
\u2800. This character is used to circumvent a nomnoml shortcoming:
lines can't start with a standard space and multiple subsequent spaces might be collapsed.
To choose another character, set the option
flow.indenter, for instance :
options(flow.indenter = "\u00b7").