render_drake_graph {drake}R Documentation

Render a visualization using the data frames generated by drake_graph_info(). [Stable]


This function is called inside vis_drake_graph(), which typical users call more often.


  file = character(0),
  layout = NULL,
  direction = NULL,
  hover = TRUE,
  main = graph_info$default_title,
  selfcontained = FALSE,
  navigationButtons = TRUE,
  ncol_legend = 1,
  collapse = TRUE,
  on_select = NULL,
  level_separation = NULL,



List of data frames generated by drake_graph_info(). There should be 3 data frames: nodes, edges, and legend_nodes.


Name of a file to save the graph. If NULL or character(0), no file is saved and the graph is rendered and displayed within R. If the file ends in a .png, .jpg, .jpeg, or .pdf extension, then a static image will be saved. In this case, the webshot package and PhantomJS are required: install.packages("webshot"); webshot::install_phantomjs(). If the file does not end in a .png, .jpg, .jpeg, or .pdf extension, an HTML file will be saved, and you can open the interactive graph using a web browser.






Logical, whether to show the command that generated the target when you hover over a node with the mouse. For imports, the label does not change with hovering.


Character string, title of the graph.


Logical, whether to save the file as a self-contained HTML file (with external resources base64 encoded) or a file with external resources placed in an adjacent directory. If TRUE, pandoc is required. The selfcontained argument only applies to HTML files. In other words, if file is a PNG, PDF, or JPEG file, for instance, the point is moot.


Logical, whether to add navigation buttons with visNetwork::visInteraction(navigationButtons = TRUE)


Number of columns in the legend nodes. To remove the legend entirely, set ncol_legend to NULL or 0.


Logical, whether to allow nodes to collapse if you double click on them. Analogous to visNetwork::visOptions(collapse = TRUE).


defines node selection event handling. Either a string of valid JavaScript that may be passed to visNetwork::visEvents(), or one of the following: TRUE, NULL/FALSE. If TRUE , enables the default behavior of opening the link specified by the on_select_col given to drake_graph_info(). NULL/FALSE disables the behavior.


Numeric, levelSeparation argument to visNetwork::visHierarchicalLayout(). Controls the distance between hierarchical levels. Consider setting if the aspect ratio of the graph is far from 1. Defaults to 150 through visNetwork.


Arguments passed to visNetwork().


For enhanced interactivity in the graph, see the mandrake package:


A visNetwork graph.

See Also

vis_drake_graph(), sankey_drake_graph(), drake_ggraph()


## Not run: 
isolate_example("Quarantine side effects.", {
if (suppressWarnings(require("knitr"))) {
load_mtcars_example() # Get the code with drake_example("mtcars").
if (requireNamespace("visNetwork", quietly = TRUE)) {
# Instead of jumping right to vis_drake_graph(), get the data frames
# of nodes, edges, and legend nodes.
vis_drake_graph(my_plan) # Jump straight to the interactive graph.
# Get the node and edge info that vis_drake_graph() just plotted:
graph <- drake_graph_info(my_plan)
# You can pass the data frames right to render_drake_graph()
# (as in vis_drake_graph()) or you can create
# your own custom visNewtork graph.

## End(Not run)

[Package drake version 7.13.2 Index]