ggraph
/ggplot2
This function requires packages ggplot2
and ggraph
.
Install them with install.packages(c("ggplot2", "ggraph"))
.
drake_ggraph(
...,
build_times = "build",
digits = 3,
targets_only = FALSE,
main = NULL,
from = NULL,
mode = c("out", "in", "all"),
order = NULL,
subset = NULL,
make_imports = TRUE,
from_scratch = FALSE,
full_legend = FALSE,
group = NULL,
clusters = NULL,
show_output_files = TRUE,
label_nodes = FALSE,
transparency = TRUE,
config = NULL
)
A ggplot2
object, which you can modify with more layers,
show with plot()
, or save as a file with ggsave()
.
Arguments to make()
, such as plan
and targets
.
Character string or logical.
If character, the choices are
1. "build"
: runtime of the command plus the time
it take to store the target or import.
2. "command"
: just the runtime of the command.
3. "none"
: no build times.
If logical, build_times
selects whether to show the
times from `build_times(..., type = "build")`` or use
no build times at all. See build_times()
for details.
Number of digits for rounding the build times
Logical, whether to skip the imports and only include the targets in the workflow plan.
Character string, title of the graph.
Optional collection of target/import names.
If from
is nonempty,
the graph will restrict itself to
a neighborhood of from
.
Control the neighborhood with
mode
and order
.
Which direction to branch out in the graph
to create a neighborhood around from
.
Use "in"
to go upstream,
"out"
to go downstream,
and "all"
to go both ways and disregard
edge direction altogether.
How far to branch out to create
a neighborhood around from
. Defaults to
as far as possible. If a target is in the neighborhood, then
so are all of its custom file_out()
files if
show_output_files
is TRUE
.
That means the actual graph order may be slightly greater than
you might expect, but this ensures consistency
between show_output_files = TRUE
and
show_output_files = FALSE
.
Optional character vector.
Subset of targets/imports to display in the graph.
Applied after from
, mode
, and order
.
Be advised: edges are only kept for adjacent nodes in subset
.
If you do not select all the intermediate nodes,
edges will drop from the graph.
Logical, whether to make the imports first.
Set to FALSE
to increase speed and risk using obsolete information.
Logical, whether to assume all the targets
will be made from scratch on the next make()
.
Makes all targets outdated, but keeps information about
build progress in previous make()
s.
Logical. If TRUE
, all the node types
are printed in the legend. If FALSE
, only the
node types used are printed in the legend.
Optional character scalar, name of the column used to
group nodes into columns. All the columns names of your original drake
plan are choices. The other choices (such as "status"
) are column names
in the nodes
. To group nodes into clusters in the graph,
you must also supply the clusters
argument.
Optional character vector of values to cluster on.
These values must be elements of the column of the nodes
data frame
that you specify in the group
argument to drake_graph_info()
.
Logical, whether to include
file_out()
files in the graph.
Logical, whether to label the nodes.
If FALSE
, the graph will not have any text next to the nodes,
which is recommended for large graphs with lots of targets.
Logical, whether to allow transparency in
the rendered graph. Set to FALSE
if you get warnings
like "semi-transparency is not supported on this device".
Deprecated.
vis_drake_graph()
, sankey_drake_graph()
,
render_drake_ggraph()
, text_drake_graph()
if (FALSE) {
isolate_example("Quarantine side effects.", {
load_mtcars_example() # Get the code with drake_example("mtcars").
# Plot the network graph representation of the workflow.
if (requireNamespace("ggraph", quietly = TRUE)) {
drake_ggraph(my_plan) # Save to a file with `ggplot2::ggsave()`.
}
})
}
Run the code above in your browser using DataLab