Place nodes in circles based on distance to a specific node
This layout constrains node placement to a radius relative to its distance to a given node. It then uses stress majorisation to find an optimal node distribution according to this constraint.
layout_tbl_graph_focus( graph, focus, weights = NULL, niter = 500, tolerance = 1e-04, group = NULL, shrink = 10, circular = TRUE )
graph
: a tbl_graph objectfocus
: An expression evaluating to a selected node. Can either be a single integer or a logical vector with a single TRUE
element.weights
: An expression evaluated on the edge data to provide edge weights for the layout. Currently ignored for the sparse versionniter
: number of iterations during stress optimizationtolerance
: stopping criterion for stress optimizationgroup
: An expression evaluating to a grouping of the nodes. If given the layout will keep grouped nodes within an angle range of the originshrink
: shrink the reserved angle range for a group to increase the gaps between groupscircular
: ignoredA data.frame with the columns x
, y
, circular
, distance
as well as any information stored as node variables in the tbl_graph object.
Brandes, U., & Pich, C. (2011). More flexible radial layout. Journal of Graph Algorithms and Applications, 15(1), 157-173.
Other layout_tbl_graph_*: layout_tbl_graph_auto()
, layout_tbl_graph_backbone()
, layout_tbl_graph_cactustree()
, layout_tbl_graph_centrality()
, layout_tbl_graph_circlepack()
, layout_tbl_graph_dendrogram()
, layout_tbl_graph_eigen()
, layout_tbl_graph_fabric()
, layout_tbl_graph_hive()
, layout_tbl_graph_htree()
, layout_tbl_graph_igraph()
, layout_tbl_graph_linear()
, layout_tbl_graph_manual()
, layout_tbl_graph_matrix()
, layout_tbl_graph_metro()
, layout_tbl_graph_partition()
, layout_tbl_graph_pmds()
, layout_tbl_graph_sf()
, layout_tbl_graph_stress()
, layout_tbl_graph_treemap()
, layout_tbl_graph_unrooted()
The underlying algorithm is implemented in the graphlayouts package by David Schoch
Useful links