layout_nodes_w_string {DiagrammeR} | R Documentation |
Layout one or several groups of nodes using a text-based schematic. The option is available to apply sorting to each of the groups.
layout_nodes_w_string(graph, layout, nodes, sort = NULL, width = 8, height = 8, ll = c(0, 0))
graph |
a graph object of class
|
layout |
a layout character string that
provides a schematic for the layout. This
consists of a rectangular collection of
|
nodes |
a named vector of the form:
|
sort |
an optional sorting method to apply
to the collection of nodes before assigning
positional information. Like |
width |
the width of the |
height |
the height of the |
ll |
a vector describing the the lower-left
coordinates of the |
a graph object of class dgr_graph
.
# Create a graph with unique labels and # several node `type` groupings graph <- create_graph() %>% add_node(type = "a", label = "a") %>% add_node(type = "a", label = "b") %>% add_node(type = "b", label = "c") %>% add_node(type = "b", label = "d") %>% add_node(type = "b", label = "e") %>% add_node(type = "c", label = "f") %>% add_node(type = "c", label = "g") # Define a 'layout' for groups of nodes # using a text string (dashes are empty # grid cells, numbers--representing # ad-hoc groupings--correspond to # individual nodes); here, define a layout # with 3 groups of nodes layout <- " 1-------- 1-------- ---222--- --------3 --------3 " # Use the `layout` along with what nodes # the numbers correspond to in the graph # with the `nodes` named vectors; the # optional `sort` vector describes how # we should sort the collection of node # before adding position information graph <- graph %>% layout_nodes_w_string( layout = layout, nodes = c("1" = "type:a", "2" = "type:b", "3" = "type:c"), sort = c("1" = "label:asc", "2" = "label:desc", "3" = "label:desc")) # Show the graph's node data frame # to confirm that `x` and `y` values # were added to each of the nodes get_node_df(graph) #> id type label x y #> 1 1 a a 0 8 #> 2 2 a b 0 6 #> 3 3 b c 5 4 #> 4 4 b d 4 4 #> 5 5 b e 3 4 #> 6 6 c f 8 0 #> 7 7 c g 8 2