Group nodes into clusters in graph visualizations #463
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
In
vis_drake_graph()
anddrake_graph_info()
, you can now use thegroup
andclusters
arguments to group nodes into clusters. This is handy for large graphs.group
is the name of a column indrake_graph_info()$nodes
, and these columns include everything inconfig$plan
, such as wildcard evaluation indicators (evaluate_plan(trace = TRUE)
).clusters
is a vector of values in thegroup
column to cluster on. For example, let's collapse everything except the outdated nodes.visNetwork
's clustering is glitchy (ref: datastorm-open/visNetwork#254), so I implementeddrake
's own custom grouping.Related GitHub issues
Checklist
drake
's code of conduct, and I agree to follow its rules.testthat
unit tests totests/testthat
to confirm that any new features or functionality work correctly.devtools::check()