diff --git a/404.html b/404.html index 837376a3..c849a742 100644 --- a/404.html +++ b/404.html @@ -31,7 +31,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/CODE_OF_CONDUCT.html b/CODE_OF_CONDUCT.html index d2a823ff..c5f57f7a 100644 --- a/CODE_OF_CONDUCT.html +++ b/CODE_OF_CONDUCT.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/LICENSE-text.html b/LICENSE-text.html index 04255cc6..aa273084 100644 --- a/LICENSE-text.html +++ b/LICENSE-text.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/LICENSE.html b/LICENSE.html index fd1faa5f..c6427646 100644 --- a/LICENSE.html +++ b/LICENSE.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/articles/graphviz-mermaid.html b/articles/graphviz-mermaid.html index 879f0c45..943aed18 100644 --- a/articles/graphviz-mermaid.html +++ b/articles/graphviz-mermaid.html @@ -33,7 +33,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -80,7 +80,7 @@ - + Graphviz and mermaid in DiagrammeR @@ -195,8 +195,8 @@ Statements E->6 4->6 5->7 6->7 3->8 } ") - - + + Subgraphs and Clusters @@ -398,8 +398,8 @@ Examples[1]: 'top' [2]: 10:20 ") - -As can be seen from the output: + +As can be seen from the output: the node with ID a is given the label “top” (after substituting @@1 with expression after the diff --git a/articles/graphviz-mermaid_files/grViz-binding-1.0.11.9000/grViz.js b/articles/graphviz-mermaid_files/grViz-binding-1.0.11.9000/grViz.js new file mode 100644 index 00000000..f8013172 --- /dev/null +++ b/articles/graphviz-mermaid_files/grViz-binding-1.0.11.9000/grViz.js @@ -0,0 +1,91 @@ +HTMLWidgets.widget({ + + name: 'grViz', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + }; + }, + + renderValue: function(el, x, instance) { + // Use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if (svg) { + if (svg.width) {svg.removeAttribute("width")} + if (svg.height) {svg.removeAttribute("height")} + svg.style.width = "100%"; + svg.style.height = "100%"; + } + } + + if (x.diagram !== "") { + + if (typeof x.config === "undefined"){ + x.config = {}; + x.config.engine = "dot"; + x.config.options = {}; + } + + try { + + el.innerHTML = Viz(x.diagram, format="svg", engine=x.config.engine, options=x.config.options); + + makeResponsive(el); + + if (HTMLWidgets.shinyMode) { + // Get widget id + var id = el.id; + + $("#" + id + " .node").click(function(e) { + // Get node id + var nodeid = e.currentTarget.id; + // Get node text object and make an array + var node_texts = $("#" + id + " #" + nodeid + " text"); + //var node_path = $("#" + nodeid + " path")[0]; + var text_array = node_texts.map(function() {return $(this).text(); }).toArray(); + // Build return object *obj* with node-id, node text values and node fill + var obj = { + id: nodeid, + //fill: node_path.attributes.fill.nodeValue, + //outerHMTL: node_path.outerHTML, + nodeValues: text_array + }; + // Send *obj* to Shiny's inputs (input$[id]+_click e.g.: input$vtree_click)) + Shiny.setInputValue(id + "_click", obj, {priority: "event"}); + }); + } + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (typeof x.tasks !== "undefined") { + if ((typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function")) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }); + } + } catch(e){ + var p = document.createElement("pre"); + p.innerText = e; + el.appendChild(p); + } + } + + }, + + resize: function(el, width, height, instance) { + } +}); diff --git a/articles/index.html b/articles/index.html index 27e4fcb0..06139da7 100644 --- a/articles/index.html +++ b/articles/index.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/articles/node-edge-data-frames.html b/articles/node-edge-data-frames.html index da9ebfe3..37e2fbaa 100644 --- a/articles/node-edge-data-frames.html +++ b/articles/node-edge-data-frames.html @@ -33,7 +33,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/articles/selections.html b/articles/selections.html index 2655f0cc..996082e6 100644 --- a/articles/selections.html +++ b/articles/selections.html @@ -33,7 +33,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -80,7 +80,7 @@ - + Selections @@ -588,8 +588,8 @@ Selecting the Last Nod # View the new graph graph_2 %>% render_graph() - -The graph shows two nodes connected together. Nothing more, nothing + +The graph shows two nodes connected together. Nothing more, nothing less. The more interesting views of the data are of the node and edge data frames, which now have several attributes set. Let’s have a look at the graph’s internal node data frame… @@ -597,14 +597,14 @@ Selecting the Last Nod # Inspect the new graph's NDF graph_2 %>% get_node_df() #> id type label timestamp -#> 1 1 A <NA> 2024-02-03 18:45:15.490068 -#> 2 2 B <NA> 2024-02-03 18:45:15.513726 +#> 1 1 A <NA> 2024-02-03 18:48:36.40223 +#> 2 2 B <NA> 2024-02-03 18:48:36.426155 …and let’s inspect the graph’s internal edge data frame. # Inspect the new graph's EDF graph_2 %>% get_edge_df() #> id from to rel timestamp -#> 1 1 1 2 AB 2024-02-03 18:45:15.532175 +#> 1 1 1 2 AB 2024-02-03 18:48:36.444785 As can be seen, immediately invoking select_last_nodes_created() or select_last_edges_created() after addition of new nodes or diff --git a/articles/selections_files/grViz-binding-1.0.11.9000/grViz.js b/articles/selections_files/grViz-binding-1.0.11.9000/grViz.js new file mode 100644 index 00000000..f8013172 --- /dev/null +++ b/articles/selections_files/grViz-binding-1.0.11.9000/grViz.js @@ -0,0 +1,91 @@ +HTMLWidgets.widget({ + + name: 'grViz', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + }; + }, + + renderValue: function(el, x, instance) { + // Use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if (svg) { + if (svg.width) {svg.removeAttribute("width")} + if (svg.height) {svg.removeAttribute("height")} + svg.style.width = "100%"; + svg.style.height = "100%"; + } + } + + if (x.diagram !== "") { + + if (typeof x.config === "undefined"){ + x.config = {}; + x.config.engine = "dot"; + x.config.options = {}; + } + + try { + + el.innerHTML = Viz(x.diagram, format="svg", engine=x.config.engine, options=x.config.options); + + makeResponsive(el); + + if (HTMLWidgets.shinyMode) { + // Get widget id + var id = el.id; + + $("#" + id + " .node").click(function(e) { + // Get node id + var nodeid = e.currentTarget.id; + // Get node text object and make an array + var node_texts = $("#" + id + " #" + nodeid + " text"); + //var node_path = $("#" + nodeid + " path")[0]; + var text_array = node_texts.map(function() {return $(this).text(); }).toArray(); + // Build return object *obj* with node-id, node text values and node fill + var obj = { + id: nodeid, + //fill: node_path.attributes.fill.nodeValue, + //outerHMTL: node_path.outerHTML, + nodeValues: text_array + }; + // Send *obj* to Shiny's inputs (input$[id]+_click e.g.: input$vtree_click)) + Shiny.setInputValue(id + "_click", obj, {priority: "event"}); + }); + } + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (typeof x.tasks !== "undefined") { + if ((typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function")) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }); + } + } catch(e){ + var p = document.createElement("pre"); + p.innerText = e; + el.appendChild(p); + } + } + + }, + + resize: function(el, width, height, instance) { + } +}); diff --git a/articles/simple-graphs-ndfs-edfs.html b/articles/simple-graphs-ndfs-edfs.html index a3ea6f3e..3b3ea725 100644 --- a/articles/simple-graphs-ndfs-edfs.html +++ b/articles/simple-graphs-ndfs-edfs.html @@ -33,7 +33,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -80,7 +80,7 @@ - + Creating Simple Graphs from NDFs/EDFs @@ -281,8 +281,8 @@ Viewing a Graph ObjectLet’s have a look at the graph created in the last example: graph %>% render_graph() - -If you’d like to return the Graphviz DOT code (to, perhaps, share it + +If you’d like to return the Graphviz DOT code (to, perhaps, share it or use it directly with the Graphviz command-line utility), we can use the generate_dot() function. Here’s a simple example: diff --git a/articles/simple-graphs-ndfs-edfs_files/grViz-binding-1.0.11.9000/grViz.js b/articles/simple-graphs-ndfs-edfs_files/grViz-binding-1.0.11.9000/grViz.js new file mode 100644 index 00000000..f8013172 --- /dev/null +++ b/articles/simple-graphs-ndfs-edfs_files/grViz-binding-1.0.11.9000/grViz.js @@ -0,0 +1,91 @@ +HTMLWidgets.widget({ + + name: 'grViz', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + }; + }, + + renderValue: function(el, x, instance) { + // Use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if (svg) { + if (svg.width) {svg.removeAttribute("width")} + if (svg.height) {svg.removeAttribute("height")} + svg.style.width = "100%"; + svg.style.height = "100%"; + } + } + + if (x.diagram !== "") { + + if (typeof x.config === "undefined"){ + x.config = {}; + x.config.engine = "dot"; + x.config.options = {}; + } + + try { + + el.innerHTML = Viz(x.diagram, format="svg", engine=x.config.engine, options=x.config.options); + + makeResponsive(el); + + if (HTMLWidgets.shinyMode) { + // Get widget id + var id = el.id; + + $("#" + id + " .node").click(function(e) { + // Get node id + var nodeid = e.currentTarget.id; + // Get node text object and make an array + var node_texts = $("#" + id + " #" + nodeid + " text"); + //var node_path = $("#" + nodeid + " path")[0]; + var text_array = node_texts.map(function() {return $(this).text(); }).toArray(); + // Build return object *obj* with node-id, node text values and node fill + var obj = { + id: nodeid, + //fill: node_path.attributes.fill.nodeValue, + //outerHMTL: node_path.outerHTML, + nodeValues: text_array + }; + // Send *obj* to Shiny's inputs (input$[id]+_click e.g.: input$vtree_click)) + Shiny.setInputValue(id + "_click", obj, {priority: "event"}); + }); + } + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (typeof x.tasks !== "undefined") { + if ((typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function")) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }); + } + } catch(e){ + var p = document.createElement("pre"); + p.innerText = e; + el.appendChild(p); + } + } + + }, + + resize: function(el, width, height, instance) { + } +}); diff --git a/articles/traversals.html b/articles/traversals.html index 4513691c..0d795b4f 100644 --- a/articles/traversals.html +++ b/articles/traversals.html @@ -33,7 +33,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -80,7 +80,7 @@ - + Traversals @@ -229,8 +229,8 @@ Traversals Across Nodes ) graph_1 %>% render_graph() - -We can now take the selection (still the central node 1) + +We can now take the selection (still the central node 1) and traverse via outbound edges to adjacent nodes: 2, 3, 4, 5, and 6. @@ -317,8 +317,8 @@ Traversals Across Nodes # View the created graph graph %>% render_graph() - - + + graph %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% @@ -352,8 +352,8 @@ Traversals Across Nodes # View the updated graph updated_graph %>% render_graph() - -We are not limited to starting a traversal from a single node ID + +We are not limited to starting a traversal from a single node ID value. We can, for example, begin from a selection of nodes based on a regular expression and traverse to a matching type string value (or to other node attributes that have character @@ -399,8 +399,8 @@ Traversals Across Nodes # View the graph graph %>% render_graph() - - + + # View the internal NDF for sake of # reference graph %>% get_node_df() @@ -624,8 +624,8 @@ Traversals from Nodes to Edges) graph %>% render_graph() - - + + diff --git a/articles/traversals_files/grViz-binding-1.0.11.9000/grViz.js b/articles/traversals_files/grViz-binding-1.0.11.9000/grViz.js new file mode 100644 index 00000000..f8013172 --- /dev/null +++ b/articles/traversals_files/grViz-binding-1.0.11.9000/grViz.js @@ -0,0 +1,91 @@ +HTMLWidgets.widget({ + + name: 'grViz', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + }; + }, + + renderValue: function(el, x, instance) { + // Use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if (svg) { + if (svg.width) {svg.removeAttribute("width")} + if (svg.height) {svg.removeAttribute("height")} + svg.style.width = "100%"; + svg.style.height = "100%"; + } + } + + if (x.diagram !== "") { + + if (typeof x.config === "undefined"){ + x.config = {}; + x.config.engine = "dot"; + x.config.options = {}; + } + + try { + + el.innerHTML = Viz(x.diagram, format="svg", engine=x.config.engine, options=x.config.options); + + makeResponsive(el); + + if (HTMLWidgets.shinyMode) { + // Get widget id + var id = el.id; + + $("#" + id + " .node").click(function(e) { + // Get node id + var nodeid = e.currentTarget.id; + // Get node text object and make an array + var node_texts = $("#" + id + " #" + nodeid + " text"); + //var node_path = $("#" + nodeid + " path")[0]; + var text_array = node_texts.map(function() {return $(this).text(); }).toArray(); + // Build return object *obj* with node-id, node text values and node fill + var obj = { + id: nodeid, + //fill: node_path.attributes.fill.nodeValue, + //outerHMTL: node_path.outerHTML, + nodeValues: text_array + }; + // Send *obj* to Shiny's inputs (input$[id]+_click e.g.: input$vtree_click)) + Shiny.setInputValue(id + "_click", obj, {priority: "event"}); + }); + } + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (typeof x.tasks !== "undefined") { + if ((typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function")) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }); + } + } catch(e){ + var p = document.createElement("pre"); + p.innerText = e; + el.appendChild(p); + } + } + + }, + + resize: function(el, width, height, instance) { + } +}); diff --git a/authors.html b/authors.html index 8a305d8d..d460d88e 100644 --- a/authors.html +++ b/authors.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -72,14 +72,14 @@ Citation Iannone R, Roy O (2024). DiagrammeR: Graph/Network Visualization. -R package version 1.0.11, +R package version 1.0.11.9000, https://github.com/rich-iannone/DiagrammeR, https://rich-iannone.github.io/DiagrammeR/. @Manual{, title = {DiagrammeR: Graph/Network Visualization}, author = {Richard Iannone and Olivier Roy}, year = {2024}, - note = {R package version 1.0.11, + note = {R package version 1.0.11.9000, https://github.com/rich-iannone/DiagrammeR}, url = {https://rich-iannone.github.io/DiagrammeR/}, } diff --git a/index.html b/index.html index cd342a64..9913dfff 100644 --- a/index.html +++ b/index.html @@ -45,7 +45,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/news/index.html b/news/index.html index 31b54605..3972105d 100644 --- a/news/index.html +++ b/news/index.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -54,6 +54,9 @@ Source: NEWS.md + +DiagrammeR (development version) + DiagrammeR 1.0.11CRAN release: 2024-02-02 DiagrammeR now has a dependency on viridisLite instead of viridis (@olivroy, #511) diff --git a/pkgdown.yml b/pkgdown.yml index 20573e96..9f5cff43 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -7,7 +7,7 @@ articles: selections: selections.html simple-graphs-ndfs-edfs: simple-graphs-ndfs-edfs.html traversals: traversals.html -last_built: 2024-02-03T18:44Z +last_built: 2024-02-03T18:47Z urls: reference: https://rich-iannone.github.io/DiagrammeR/reference article: https://rich-iannone.github.io/DiagrammeR/articles diff --git a/reference/DiagrammeR-package.html b/reference/DiagrammeR-package.html index 550e23f7..7cb9fc61 100644 --- a/reference/DiagrammeR-package.html +++ b/reference/DiagrammeR-package.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/DiagrammeR.html b/reference/DiagrammeR.html index 55505613..76abf86a 100644 --- a/reference/DiagrammeR.html +++ b/reference/DiagrammeR.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/DiagrammeROutput.html b/reference/DiagrammeROutput.html index 81ce9728..66db43a8 100644 --- a/reference/DiagrammeROutput.html +++ b/reference/DiagrammeROutput.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_balanced_tree.html b/reference/add_balanced_tree.html index 137c260d..7ba46dfe 100644 --- a/reference/add_balanced_tree.html +++ b/reference/add_balanced_tree.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_cycle.html b/reference/add_cycle.html index 92309dfb..75822dcb 100644 --- a/reference/add_cycle.html +++ b/reference/add_cycle.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edge.html b/reference/add_edge.html index 8d50723e..a2095c90 100644 --- a/reference/add_edge.html +++ b/reference/add_edge.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edge_clone.html b/reference/add_edge_clone.html index 223378a3..2b5af441 100644 --- a/reference/add_edge_clone.html +++ b/reference/add_edge_clone.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edge_df.html b/reference/add_edge_df.html index 85d6ec8b..f6532e39 100644 --- a/reference/add_edge_df.html +++ b/reference/add_edge_df.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edges_from_table.html b/reference/add_edges_from_table.html index a618b825..7a1da015 100644 --- a/reference/add_edges_from_table.html +++ b/reference/add_edges_from_table.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edges_w_string.html b/reference/add_edges_w_string.html index 4256e8b0..b87f624f 100644 --- a/reference/add_edges_w_string.html +++ b/reference/add_edges_w_string.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_forward_edges_ws.html b/reference/add_forward_edges_ws.html index b25c21d7..65a17c1c 100644 --- a/reference/add_forward_edges_ws.html +++ b/reference/add_forward_edges_ws.html @@ -36,7 +36,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_full_graph.html b/reference/add_full_graph.html index 656b9d4b..a754108f 100644 --- a/reference/add_full_graph.html +++ b/reference/add_full_graph.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_global_graph_attrs.html b/reference/add_global_graph_attrs.html index 46faeff2..a4c34952 100644 --- a/reference/add_global_graph_attrs.html +++ b/reference/add_global_graph_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_gnm_graph.html b/reference/add_gnm_graph.html index de865b4d..94479a05 100644 --- a/reference/add_gnm_graph.html +++ b/reference/add_gnm_graph.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_gnp_graph.html b/reference/add_gnp_graph.html index 8b811a3b..6cb77dbb 100644 --- a/reference/add_gnp_graph.html +++ b/reference/add_gnp_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_graph_action.html b/reference/add_graph_action.html index 0be2bee9..87ae0ff2 100644 --- a/reference/add_graph_action.html +++ b/reference/add_graph_action.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_graph_to_graph_series.html b/reference/add_graph_to_graph_series.html index 1e459fa2..9f32b83f 100644 --- a/reference/add_graph_to_graph_series.html +++ b/reference/add_graph_to_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_grid_2d.html b/reference/add_grid_2d.html index ca999ef2..2becab0a 100644 --- a/reference/add_grid_2d.html +++ b/reference/add_grid_2d.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_grid_3d.html b/reference/add_grid_3d.html index e177f14a..1c277626 100644 --- a/reference/add_grid_3d.html +++ b/reference/add_grid_3d.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_growing_graph.html b/reference/add_growing_graph.html index 1fcda567..121a6973 100644 --- a/reference/add_growing_graph.html +++ b/reference/add_growing_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_islands_graph.html b/reference/add_islands_graph.html index 75c4e086..5ab7529d 100644 --- a/reference/add_islands_graph.html +++ b/reference/add_islands_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_mathjax.html b/reference/add_mathjax.html index a9298f62..8f2740b5 100644 --- a/reference/add_mathjax.html +++ b/reference/add_mathjax.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_n_node_clones.html b/reference/add_n_node_clones.html index 0292db56..3f851629 100644 --- a/reference/add_n_node_clones.html +++ b/reference/add_n_node_clones.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_n_nodes.html b/reference/add_n_nodes.html index aad60212..8038b870 100644 --- a/reference/add_n_nodes.html +++ b/reference/add_n_nodes.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_n_nodes_ws.html b/reference/add_n_nodes_ws.html index 013cd2ef..8e2476a8 100644 --- a/reference/add_n_nodes_ws.html +++ b/reference/add_n_nodes_ws.html @@ -40,7 +40,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_node.html b/reference/add_node.html index e755add6..deeb4ccd 100644 --- a/reference/add_node.html +++ b/reference/add_node.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_node_clones_ws.html b/reference/add_node_clones_ws.html index 91c88939..fb0277f5 100644 --- a/reference/add_node_clones_ws.html +++ b/reference/add_node_clones_ws.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_node_df.html b/reference/add_node_df.html index 4d4de3c1..cf752e2b 100644 --- a/reference/add_node_df.html +++ b/reference/add_node_df.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_nodes_from_df_cols.html b/reference/add_nodes_from_df_cols.html index c41f383a..fbc8826d 100644 --- a/reference/add_nodes_from_df_cols.html +++ b/reference/add_nodes_from_df_cols.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_nodes_from_table.html b/reference/add_nodes_from_table.html index 4e98ca64..51b996c9 100644 --- a/reference/add_nodes_from_table.html +++ b/reference/add_nodes_from_table.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_pa_graph.html b/reference/add_pa_graph.html index 6d946968..1d727c93 100644 --- a/reference/add_pa_graph.html +++ b/reference/add_pa_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_path.html b/reference/add_path.html index 630dd302..94e8ee36 100644 --- a/reference/add_path.html +++ b/reference/add_path.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_prism.html b/reference/add_prism.html index 8e3fd6f7..846d7a91 100644 --- a/reference/add_prism.html +++ b/reference/add_prism.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_reverse_edges_ws.html b/reference/add_reverse_edges_ws.html index 68588b8d..ff02770e 100644 --- a/reference/add_reverse_edges_ws.html +++ b/reference/add_reverse_edges_ws.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_smallworld_graph.html b/reference/add_smallworld_graph.html index 596c3c97..795b14cf 100644 --- a/reference/add_smallworld_graph.html +++ b/reference/add_smallworld_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_star.html b/reference/add_star.html index b674bb51..7e4dfb92 100644 --- a/reference/add_star.html +++ b/reference/add_star.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/clear_selection.html b/reference/clear_selection.html index 60ca6b5a..51efbcb4 100644 --- a/reference/clear_selection.html +++ b/reference/clear_selection.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/colorize_edge_attrs.html b/reference/colorize_edge_attrs.html index 32d5190b..7abd5068 100644 --- a/reference/colorize_edge_attrs.html +++ b/reference/colorize_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/colorize_node_attrs.html b/reference/colorize_node_attrs.html index 246ce372..a6ac7308 100644 --- a/reference/colorize_node_attrs.html +++ b/reference/colorize_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/combine_edfs.html b/reference/combine_edfs.html index 95182e66..488ca985 100644 --- a/reference/combine_edfs.html +++ b/reference/combine_edfs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/combine_graphs.html b/reference/combine_graphs.html index e34ed43e..907e9b08 100644 --- a/reference/combine_graphs.html +++ b/reference/combine_graphs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/combine_ndfs.html b/reference/combine_ndfs.html index a5f9c2b6..10c823d3 100644 --- a/reference/combine_ndfs.html +++ b/reference/combine_ndfs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/copy_edge_attrs.html b/reference/copy_edge_attrs.html index 6171ec9b..0ab1296b 100644 --- a/reference/copy_edge_attrs.html +++ b/reference/copy_edge_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/copy_node_attrs.html b/reference/copy_node_attrs.html index fbec86fa..e61fa518 100644 --- a/reference/copy_node_attrs.html +++ b/reference/copy_node_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_asymmetric_node_pairs.html b/reference/count_asymmetric_node_pairs.html index e80f7e94..26f3fe04 100644 --- a/reference/count_asymmetric_node_pairs.html +++ b/reference/count_asymmetric_node_pairs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_automorphisms.html b/reference/count_automorphisms.html index 8e6fe050..6fdb71f5 100644 --- a/reference/count_automorphisms.html +++ b/reference/count_automorphisms.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_edges.html b/reference/count_edges.html index 9b571821..4e3e3e58 100644 --- a/reference/count_edges.html +++ b/reference/count_edges.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_graphs_in_graph_series.html b/reference/count_graphs_in_graph_series.html index 5d571a47..9c18919c 100644 --- a/reference/count_graphs_in_graph_series.html +++ b/reference/count_graphs_in_graph_series.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_loop_edges.html b/reference/count_loop_edges.html index bcd2cea1..e6a5b382 100644 --- a/reference/count_loop_edges.html +++ b/reference/count_loop_edges.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_mutual_node_pairs.html b/reference/count_mutual_node_pairs.html index 3d9b24bf..cb97f57d 100644 --- a/reference/count_mutual_node_pairs.html +++ b/reference/count_mutual_node_pairs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_nodes.html b/reference/count_nodes.html index 448f73e8..484a5c90 100644 --- a/reference/count_nodes.html +++ b/reference/count_nodes.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_s_connected_cmpts.html b/reference/count_s_connected_cmpts.html index 22d5adad..254d004e 100644 --- a/reference/count_s_connected_cmpts.html +++ b/reference/count_s_connected_cmpts.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_unconnected_node_pairs.html b/reference/count_unconnected_node_pairs.html index e0c95fe0..cc7613d7 100644 --- a/reference/count_unconnected_node_pairs.html +++ b/reference/count_unconnected_node_pairs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_unconnected_nodes.html b/reference/count_unconnected_nodes.html index f258f6cb..d66cdb21 100644 --- a/reference/count_unconnected_nodes.html +++ b/reference/count_unconnected_nodes.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_w_connected_cmpts.html b/reference/count_w_connected_cmpts.html index 63194153..078ca9b1 100644 --- a/reference/count_w_connected_cmpts.html +++ b/reference/count_w_connected_cmpts.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_edge_df.html b/reference/create_edge_df.html index a2dfb89f..78ea3fe6 100644 --- a/reference/create_edge_df.html +++ b/reference/create_edge_df.html @@ -34,7 +34,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_graph.html b/reference/create_graph.html index 2c36e117..9a7e8f45 100644 --- a/reference/create_graph.html +++ b/reference/create_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_graph_series.html b/reference/create_graph_series.html index 6aeb7f7a..50737cc6 100644 --- a/reference/create_graph_series.html +++ b/reference/create_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_node_df.html b/reference/create_node_df.html index 3ea5fb90..08777ed5 100644 --- a/reference/create_node_df.html +++ b/reference/create_node_df.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/currencies.html b/reference/currencies.html index 4b9d1fd7..f7b4e666 100644 --- a/reference/currencies.html +++ b/reference/currencies.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_cache.html b/reference/delete_cache.html index f94aec14..bc1f5043 100644 --- a/reference/delete_cache.html +++ b/reference/delete_cache.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_edge.html b/reference/delete_edge.html index 6deb0e15..9895c334 100644 --- a/reference/delete_edge.html +++ b/reference/delete_edge.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_edges_ws.html b/reference/delete_edges_ws.html index ac49ee16..c85b6322 100644 --- a/reference/delete_edges_ws.html +++ b/reference/delete_edges_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_global_graph_attrs.html b/reference/delete_global_graph_attrs.html index 913ba9f8..17177dda 100644 --- a/reference/delete_global_graph_attrs.html +++ b/reference/delete_global_graph_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_graph_actions.html b/reference/delete_graph_actions.html index 505e6b23..715639a8 100644 --- a/reference/delete_graph_actions.html +++ b/reference/delete_graph_actions.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_loop_edges_ws.html b/reference/delete_loop_edges_ws.html index d9677c5c..26a2e3f5 100644 --- a/reference/delete_loop_edges_ws.html +++ b/reference/delete_loop_edges_ws.html @@ -30,7 +30,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_node.html b/reference/delete_node.html index 48c9a348..9a460106 100644 --- a/reference/delete_node.html +++ b/reference/delete_node.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_nodes_ws.html b/reference/delete_nodes_ws.html index 5355e216..924f4d6c 100644 --- a/reference/delete_nodes_ws.html +++ b/reference/delete_nodes_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/deselect_edges.html b/reference/deselect_edges.html index b9f1e88a..4adca7aa 100644 --- a/reference/deselect_edges.html +++ b/reference/deselect_edges.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/deselect_nodes.html b/reference/deselect_nodes.html index d72ffa08..d92fb70d 100644 --- a/reference/deselect_nodes.html +++ b/reference/deselect_nodes.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/display_metagraph.html b/reference/display_metagraph.html index d5c6d1e9..07fdcd5e 100644 --- a/reference/display_metagraph.html +++ b/reference/display_metagraph.html @@ -22,7 +22,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/do_bfs.html b/reference/do_bfs.html index bcee0a88..3cac1205 100644 --- a/reference/do_bfs.html +++ b/reference/do_bfs.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/do_dfs.html b/reference/do_dfs.html index c5719a18..76cfb7e4 100644 --- a/reference/do_dfs.html +++ b/reference/do_dfs.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/drop_edge_attrs.html b/reference/drop_edge_attrs.html index 2661f50a..326f8ad1 100644 --- a/reference/drop_edge_attrs.html +++ b/reference/drop_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/drop_node_attrs.html b/reference/drop_node_attrs.html index 8d99a4a6..a81034dd 100644 --- a/reference/drop_node_attrs.html +++ b/reference/drop_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_aes.html b/reference/edge_aes.html index bbb001c2..67513bac 100644 --- a/reference/edge_aes.html +++ b/reference/edge_aes.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_data.html b/reference/edge_data.html index f0c462d8..b7ebcf02 100644 --- a/reference/edge_data.html +++ b/reference/edge_data.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_list_1.html b/reference/edge_list_1.html index e59cd019..3529bb8b 100644 --- a/reference/edge_list_1.html +++ b/reference/edge_list_1.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_list_2.html b/reference/edge_list_2.html index 5ba001f2..fe1b5c55 100644 --- a/reference/edge_list_2.html +++ b/reference/edge_list_2.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/export_csv.html b/reference/export_csv.html index e0d5600d..05d124b7 100644 --- a/reference/export_csv.html +++ b/reference/export_csv.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/export_graph.html b/reference/export_graph.html index 081ae56e..f0b97010 100644 --- a/reference/export_graph.html +++ b/reference/export_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/filter_graph_series.html b/reference/filter_graph_series.html index ae0d442f..fae9ca56 100644 --- a/reference/filter_graph_series.html +++ b/reference/filter_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/from_adj_matrix.html b/reference/from_adj_matrix.html index a5409119..5b22c576 100644 --- a/reference/from_adj_matrix.html +++ b/reference/from_adj_matrix.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/from_igraph.html b/reference/from_igraph.html index 39d1f5ec..610990b9 100644 --- a/reference/from_igraph.html +++ b/reference/from_igraph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/fully_connect_nodes_ws.html b/reference/fully_connect_nodes_ws.html index 07f984ca..37ab56a1 100644 --- a/reference/fully_connect_nodes_ws.html +++ b/reference/fully_connect_nodes_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/fully_disconnect_nodes_ws.html b/reference/fully_disconnect_nodes_ws.html index 49d20b8f..18d7261d 100644 --- a/reference/fully_disconnect_nodes_ws.html +++ b/reference/fully_disconnect_nodes_ws.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/generate_dot.html b/reference/generate_dot.html index 181d27ad..a7cd0495 100644 --- a/reference/generate_dot.html +++ b/reference/generate_dot.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_adhesion.html b/reference/get_adhesion.html index 76952804..12bd9998 100644 --- a/reference/get_adhesion.html +++ b/reference/get_adhesion.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_agg_degree_in.html b/reference/get_agg_degree_in.html index e204bdc3..f4110f8a 100644 --- a/reference/get_agg_degree_in.html +++ b/reference/get_agg_degree_in.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_agg_degree_out.html b/reference/get_agg_degree_out.html index 340a56ef..2c89de62 100644 --- a/reference/get_agg_degree_out.html +++ b/reference/get_agg_degree_out.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_agg_degree_total.html b/reference/get_agg_degree_total.html index 4d425f89..ef56cbbd 100644 --- a/reference/get_agg_degree_total.html +++ b/reference/get_agg_degree_total.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_all_connected_nodes.html b/reference/get_all_connected_nodes.html index d9f0755a..9454ba3d 100644 --- a/reference/get_all_connected_nodes.html +++ b/reference/get_all_connected_nodes.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_alpha_centrality.html b/reference/get_alpha_centrality.html index 6fb0f6fe..04294074 100644 --- a/reference/get_alpha_centrality.html +++ b/reference/get_alpha_centrality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_articulation_points.html b/reference/get_articulation_points.html index 68d98692..20e195bd 100644 --- a/reference/get_articulation_points.html +++ b/reference/get_articulation_points.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_authority_centrality.html b/reference/get_authority_centrality.html index 42c0c3f0..167c3b7d 100644 --- a/reference/get_authority_centrality.html +++ b/reference/get_authority_centrality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_betweenness.html b/reference/get_betweenness.html index 24f9df7a..c368c841 100644 --- a/reference/get_betweenness.html +++ b/reference/get_betweenness.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cache.html b/reference/get_cache.html index 2bc9cc9f..e034ca77 100644 --- a/reference/get_cache.html +++ b/reference/get_cache.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_closeness.html b/reference/get_closeness.html index fdaa80e9..d07cf62f 100644 --- a/reference/get_closeness.html +++ b/reference/get_closeness.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_closeness_vitality.html b/reference/get_closeness_vitality.html index d2f344de..cf875d2d 100644 --- a/reference/get_closeness_vitality.html +++ b/reference/get_closeness_vitality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_edge_btwns.html b/reference/get_cmty_edge_btwns.html index 66885b43..abed7b7c 100644 --- a/reference/get_cmty_edge_btwns.html +++ b/reference/get_cmty_edge_btwns.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_fast_greedy.html b/reference/get_cmty_fast_greedy.html index 8c8e84d7..d7c2dcde 100644 --- a/reference/get_cmty_fast_greedy.html +++ b/reference/get_cmty_fast_greedy.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_l_eigenvec.html b/reference/get_cmty_l_eigenvec.html index b28961a8..2624022e 100644 --- a/reference/get_cmty_l_eigenvec.html +++ b/reference/get_cmty_l_eigenvec.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_louvain.html b/reference/get_cmty_louvain.html index c37141c4..d04cc000 100644 --- a/reference/get_cmty_louvain.html +++ b/reference/get_cmty_louvain.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_walktrap.html b/reference/get_cmty_walktrap.html index 33f11682..79c70b13 100644 --- a/reference/get_cmty_walktrap.html +++ b/reference/get_cmty_walktrap.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_common_nbrs.html b/reference/get_common_nbrs.html index 7da0245c..c88bd80b 100644 --- a/reference/get_common_nbrs.html +++ b/reference/get_common_nbrs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_coreness.html b/reference/get_coreness.html index 1bb94eb6..ed60a885 100644 --- a/reference/get_coreness.html +++ b/reference/get_coreness.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_distribution.html b/reference/get_degree_distribution.html index 5fd47a70..c489c259 100644 --- a/reference/get_degree_distribution.html +++ b/reference/get_degree_distribution.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_histogram.html b/reference/get_degree_histogram.html index bd75c141..b6e7461b 100644 --- a/reference/get_degree_histogram.html +++ b/reference/get_degree_histogram.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_in.html b/reference/get_degree_in.html index d7736aaa..59b19483 100644 --- a/reference/get_degree_in.html +++ b/reference/get_degree_in.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_out.html b/reference/get_degree_out.html index ccfb4fd8..9765c155 100644 --- a/reference/get_degree_out.html +++ b/reference/get_degree_out.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_total.html b/reference/get_degree_total.html index 6b7ff5f5..9f5a4145 100644 --- a/reference/get_degree_total.html +++ b/reference/get_degree_total.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_dice_similarity.html b/reference/get_dice_similarity.html index d327c4a8..545ba9e9 100644 --- a/reference/get_dice_similarity.html +++ b/reference/get_dice_similarity.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_eccentricity.html b/reference/get_eccentricity.html index 0ca78fd7..6c4ee42f 100644 --- a/reference/get_eccentricity.html +++ b/reference/get_eccentricity.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_attrs.html b/reference/get_edge_attrs.html index cd95966e..6a84a68d 100644 --- a/reference/get_edge_attrs.html +++ b/reference/get_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_attrs_ws.html b/reference/get_edge_attrs_ws.html index db9de5b1..0322f289 100644 --- a/reference/get_edge_attrs_ws.html +++ b/reference/get_edge_attrs_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_count_w_multiedge.html b/reference/get_edge_count_w_multiedge.html index 320b6a46..84a1be8b 100644 --- a/reference/get_edge_count_w_multiedge.html +++ b/reference/get_edge_count_w_multiedge.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_df.html b/reference/get_edge_df.html index 50d95f86..6e209c6c 100644 --- a/reference/get_edge_df.html +++ b/reference/get_edge_df.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_df_ws.html b/reference/get_edge_df_ws.html index afcb5dfc..23b4b04d 100644 --- a/reference/get_edge_df_ws.html +++ b/reference/get_edge_df_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_ids.html b/reference/get_edge_ids.html index fe909264..a51b1db0 100644 --- a/reference/get_edge_ids.html +++ b/reference/get_edge_ids.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_info.html b/reference/get_edge_info.html index 0b7fe45f..d9116801 100644 --- a/reference/get_edge_info.html +++ b/reference/get_edge_info.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edges.html b/reference/get_edges.html index bc8695f9..7facd98a 100644 --- a/reference/get_edges.html +++ b/reference/get_edges.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_eigen_centrality.html b/reference/get_eigen_centrality.html index 24c90629..d21b0427 100644 --- a/reference/get_eigen_centrality.html +++ b/reference/get_eigen_centrality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_girth.html b/reference/get_girth.html index 39790c40..4539b631 100644 --- a/reference/get_girth.html +++ b/reference/get_girth.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_global_graph_attr_info.html b/reference/get_global_graph_attr_info.html index 0bda1982..55efa369 100644 --- a/reference/get_global_graph_attr_info.html +++ b/reference/get_global_graph_attr_info.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_actions.html b/reference/get_graph_actions.html index b4821520..d8f4546b 100644 --- a/reference/get_graph_actions.html +++ b/reference/get_graph_actions.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_from_graph_series.html b/reference/get_graph_from_graph_series.html index 3721bb04..c6c9828c 100644 --- a/reference/get_graph_from_graph_series.html +++ b/reference/get_graph_from_graph_series.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_info.html b/reference/get_graph_info.html index 09a9b1ac..7537c861 100644 --- a/reference/get_graph_info.html +++ b/reference/get_graph_info.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_log.html b/reference/get_graph_log.html index 0e1bf0bd..d26e39cc 100644 --- a/reference/get_graph_log.html +++ b/reference/get_graph_log.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -101,10 +101,10 @@ Examples#> # A tibble: 4 × 8 #> version_id function_used time_modified duration nodes edges d_n d_e #> <int> <chr> <dttm> <dbl> <int> <int> <int> <int> -#> 1 1 create_graph 2024-02-03 18:44:43 0.00282 0 0 0 0 -#> 2 2 add_gnm_graph 2024-02-03 18:44:43 0.0137 10 15 10 15 -#> 3 3 delete_node 2024-02-03 18:44:43 0.0174 9 11 -1 -4 -#> 4 4 delete_node 2024-02-03 18:44:43 0.0203 8 8 -1 -3 +#> 1 1 create_graph 2024-02-03 18:48:04 0.00286 0 0 0 0 +#> 2 2 add_gnm_graph 2024-02-03 18:48:04 0.0108 10 15 10 15 +#> 3 3 delete_node 2024-02-03 18:48:04 0.0140 9 11 -1 -4 +#> 4 4 delete_node 2024-02-03 18:48:04 0.0170 8 8 -1 -3 diff --git a/reference/get_graph_name.html b/reference/get_graph_name.html index 3e63227d..a5cb5441 100644 --- a/reference/get_graph_name.html +++ b/reference/get_graph_name.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_series_info.html b/reference/get_graph_series_info.html index 2417404a..8e08928a 100644 --- a/reference/get_graph_series_info.html +++ b/reference/get_graph_series_info.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -107,9 +107,9 @@ Examples# Get information on the graphs in the series series %>% get_graph_series_info() #> graph name date_time tz nodes edges directed -#> 1 1 graph_SVUyR63K 2024-02-03 18:44:43 UTC 4 3 TRUE -#> 2 2 graph_SueySz3B 2024-02-03 18:44:43 UTC 5 5 TRUE -#> 3 3 graph_HYG7a9jw 2024-02-03 18:44:43 UTC 6 5 TRUE +#> 1 1 graph_SVUyR63K 2024-02-03 18:48:04 UTC 4 3 TRUE +#> 2 2 graph_SueySz3B 2024-02-03 18:48:04 UTC 5 5 TRUE +#> 3 3 graph_HYG7a9jw 2024-02-03 18:48:04 UTC 6 5 TRUE diff --git a/reference/get_graph_time.html b/reference/get_graph_time.html index c6bb715b..82813cfd 100644 --- a/reference/get_graph_time.html +++ b/reference/get_graph_time.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_jaccard_similarity.html b/reference/get_jaccard_similarity.html index d73ff38c..84524c45 100644 --- a/reference/get_jaccard_similarity.html +++ b/reference/get_jaccard_similarity.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_last_edges_created.html b/reference/get_last_edges_created.html index dfe6aec5..c5e1179e 100644 --- a/reference/get_last_edges_created.html +++ b/reference/get_last_edges_created.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_last_nodes_created.html b/reference/get_last_nodes_created.html index 023b76dc..8de07a18 100644 --- a/reference/get_last_nodes_created.html +++ b/reference/get_last_nodes_created.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_leverage_centrality.html b/reference/get_leverage_centrality.html index 5d0d7032..cd3aa377 100644 --- a/reference/get_leverage_centrality.html +++ b/reference/get_leverage_centrality.html @@ -22,7 +22,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_max_eccentricity.html b/reference/get_max_eccentricity.html index 3e251156..741f024b 100644 --- a/reference/get_max_eccentricity.html +++ b/reference/get_max_eccentricity.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_mean_distance.html b/reference/get_mean_distance.html index e7c3710b..2744e2d6 100644 --- a/reference/get_mean_distance.html +++ b/reference/get_mean_distance.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_min_cut_between.html b/reference/get_min_cut_between.html index 96472b08..83e628f1 100644 --- a/reference/get_min_cut_between.html +++ b/reference/get_min_cut_between.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_min_eccentricity.html b/reference/get_min_eccentricity.html index 1ea598d7..224e7dc7 100644 --- a/reference/get_min_eccentricity.html +++ b/reference/get_min_eccentricity.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_multiedge_count.html b/reference/get_multiedge_count.html index b591d447..14a7569b 100644 --- a/reference/get_multiedge_count.html +++ b/reference/get_multiedge_count.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_nbrs.html b/reference/get_nbrs.html index a4c95a44..a848f8c3 100644 --- a/reference/get_nbrs.html +++ b/reference/get_nbrs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_attrs.html b/reference/get_node_attrs.html index 8ba2c868..b4f8a80c 100644 --- a/reference/get_node_attrs.html +++ b/reference/get_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_attrs_ws.html b/reference/get_node_attrs_ws.html index 7ddd99df..e017d656 100644 --- a/reference/get_node_attrs_ws.html +++ b/reference/get_node_attrs_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_df.html b/reference/get_node_df.html index 47fa2568..b350e9f3 100644 --- a/reference/get_node_df.html +++ b/reference/get_node_df.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_df_ws.html b/reference/get_node_df_ws.html index 93913ae4..557fca3b 100644 --- a/reference/get_node_df_ws.html +++ b/reference/get_node_df_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_ids.html b/reference/get_node_ids.html index 7aaec390..dbc10c53 100644 --- a/reference/get_node_ids.html +++ b/reference/get_node_ids.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_info.html b/reference/get_node_info.html index 587d8728..21a75904 100644 --- a/reference/get_node_info.html +++ b/reference/get_node_info.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_non_nbrs.html b/reference/get_non_nbrs.html index d7f11043..60c6a598 100644 --- a/reference/get_non_nbrs.html +++ b/reference/get_non_nbrs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_pagerank.html b/reference/get_pagerank.html index 0865336f..6d8490a2 100644 --- a/reference/get_pagerank.html +++ b/reference/get_pagerank.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_paths.html b/reference/get_paths.html index 83c924a2..92af083e 100644 --- a/reference/get_paths.html +++ b/reference/get_paths.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_periphery.html b/reference/get_periphery.html index a44de23c..4824d906 100644 --- a/reference/get_periphery.html +++ b/reference/get_periphery.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_predecessors.html b/reference/get_predecessors.html index 8ee32b12..b5a24fd1 100644 --- a/reference/get_predecessors.html +++ b/reference/get_predecessors.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_radiality.html b/reference/get_radiality.html index a10bb6d7..83782619 100644 --- a/reference/get_radiality.html +++ b/reference/get_radiality.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_reciprocity.html b/reference/get_reciprocity.html index 8edf6c8f..83efd526 100644 --- a/reference/get_reciprocity.html +++ b/reference/get_reciprocity.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_s_connected_cmpts.html b/reference/get_s_connected_cmpts.html index 33fd43a5..54971ca7 100644 --- a/reference/get_s_connected_cmpts.html +++ b/reference/get_s_connected_cmpts.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_selection.html b/reference/get_selection.html index a0eda519..5206e174 100644 --- a/reference/get_selection.html +++ b/reference/get_selection.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_similar_nbrs.html b/reference/get_similar_nbrs.html index b625549f..f6861acc 100644 --- a/reference/get_similar_nbrs.html +++ b/reference/get_similar_nbrs.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_successors.html b/reference/get_successors.html index 9dd3ab3a..4f81295b 100644 --- a/reference/get_successors.html +++ b/reference/get_successors.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_w_connected_cmpts.html b/reference/get_w_connected_cmpts.html index f2fb9d0a..164fdc0f 100644 --- a/reference/get_w_connected_cmpts.html +++ b/reference/get_w_connected_cmpts.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/grViz.html b/reference/grViz.html index 623b34de..4f29980f 100644 --- a/reference/grViz.html +++ b/reference/grViz.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/grVizOutput.html b/reference/grVizOutput.html index eb50061c..30a71ab7 100644 --- a/reference/grVizOutput.html +++ b/reference/grVizOutput.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/import_graph.html b/reference/import_graph.html index 844ff0dd..b2e140d6 100644 --- a/reference/import_graph.html +++ b/reference/import_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/index.html b/reference/index.html index db0ba182..12ee906e 100644 --- a/reference/index.html +++ b/reference/index.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/invert_selection.html b/reference/invert_selection.html index 2e1def49..edb4148e 100644 --- a/reference/invert_selection.html +++ b/reference/invert_selection.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_edge_loop.html b/reference/is_edge_loop.html index 051540b9..7b374440 100644 --- a/reference/is_edge_loop.html +++ b/reference/is_edge_loop.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_edge_multiple.html b/reference/is_edge_multiple.html index c63979f2..83c55fa8 100644 --- a/reference/is_edge_multiple.html +++ b/reference/is_edge_multiple.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_edge_mutual.html b/reference/is_edge_mutual.html index b6ddf8eb..54167807 100644 --- a/reference/is_edge_mutual.html +++ b/reference/is_edge_mutual.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_edge_present.html b/reference/is_edge_present.html index 453dfee4..41fcd8ea 100644 --- a/reference/is_edge_present.html +++ b/reference/is_edge_present.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_connected.html b/reference/is_graph_connected.html index bfc53eb4..d1c9afca 100644 --- a/reference/is_graph_connected.html +++ b/reference/is_graph_connected.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_dag.html b/reference/is_graph_dag.html index 597f16c8..4f6e2fc8 100644 --- a/reference/is_graph_dag.html +++ b/reference/is_graph_dag.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_directed.html b/reference/is_graph_directed.html index 318c5384..76fd8719 100644 --- a/reference/is_graph_directed.html +++ b/reference/is_graph_directed.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_empty.html b/reference/is_graph_empty.html index ed4a226a..5cb2aa69 100644 --- a/reference/is_graph_empty.html +++ b/reference/is_graph_empty.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_simple.html b/reference/is_graph_simple.html index 463daddd..3de3bee8 100644 --- a/reference/is_graph_simple.html +++ b/reference/is_graph_simple.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_undirected.html b/reference/is_graph_undirected.html index e91be7da..0b609e19 100644 --- a/reference/is_graph_undirected.html +++ b/reference/is_graph_undirected.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_weighted.html b/reference/is_graph_weighted.html index 2f8bb767..e09bfd15 100644 --- a/reference/is_graph_weighted.html +++ b/reference/is_graph_weighted.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_node_present.html b/reference/is_node_present.html index f5b2eb04..646b9279 100644 --- a/reference/is_node_present.html +++ b/reference/is_node_present.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_property_graph.html b/reference/is_property_graph.html index 47a4c091..c6f0135d 100644 --- a/reference/is_property_graph.html +++ b/reference/is_property_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/join_edge_attrs.html b/reference/join_edge_attrs.html index c19f26a3..752df7a0 100644 --- a/reference/join_edge_attrs.html +++ b/reference/join_edge_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/join_node_attrs.html b/reference/join_node_attrs.html index 4c448d5e..cbdfd80a 100644 --- a/reference/join_node_attrs.html +++ b/reference/join_node_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/layout_nodes_w_string.html b/reference/layout_nodes_w_string.html index 48deebfa..0d183ce1 100644 --- a/reference/layout_nodes_w_string.html +++ b/reference/layout_nodes_w_string.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/mermaid.html b/reference/mermaid.html index f0a2f5c8..901a87de 100644 --- a/reference/mermaid.html +++ b/reference/mermaid.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/mutate_edge_attrs.html b/reference/mutate_edge_attrs.html index 14603c32..27682d70 100644 --- a/reference/mutate_edge_attrs.html +++ b/reference/mutate_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/mutate_edge_attrs_ws.html b/reference/mutate_edge_attrs_ws.html index d6a3072d..9a09a78d 100644 --- a/reference/mutate_edge_attrs_ws.html +++ b/reference/mutate_edge_attrs_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/mutate_node_attrs.html b/reference/mutate_node_attrs.html index 7f96b64f..4626dd4a 100644 --- a/reference/mutate_node_attrs.html +++ b/reference/mutate_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/mutate_node_attrs_ws.html b/reference/mutate_node_attrs_ws.html index a51c50ba..426941c8 100644 --- a/reference/mutate_node_attrs_ws.html +++ b/reference/mutate_node_attrs_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/node_aes.html b/reference/node_aes.html index f2d32773..16f0495a 100644 --- a/reference/node_aes.html +++ b/reference/node_aes.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/node_data.html b/reference/node_data.html index c0ce4681..1425b5a7 100644 --- a/reference/node_data.html +++ b/reference/node_data.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/node_edge_aes_data.html b/reference/node_edge_aes_data.html index 5fa6bdc5..4edbf9b8 100644 --- a/reference/node_edge_aes_data.html +++ b/reference/node_edge_aes_data.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/node_list_1.html b/reference/node_list_1.html index 19d1b3be..575509a3 100644 --- a/reference/node_list_1.html +++ b/reference/node_list_1.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/node_list_2.html b/reference/node_list_2.html index 4490e2da..3d750bab 100644 --- a/reference/node_list_2.html +++ b/reference/node_list_2.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/nudge_node_positions_ws.html b/reference/nudge_node_positions_ws.html index b989c4ee..f49e3236 100644 --- a/reference/nudge_node_positions_ws.html +++ b/reference/nudge_node_positions_ws.html @@ -36,7 +36,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/open_graph.html b/reference/open_graph.html index 088ff0b3..f9a926eb 100644 --- a/reference/open_graph.html +++ b/reference/open_graph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/pipe.html b/reference/pipe.html index 6c73967d..44eb75c1 100644 --- a/reference/pipe.html +++ b/reference/pipe.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/print.dgr_graph.html b/reference/print.dgr_graph.html index fd564670..333d5786 100644 --- a/reference/print.dgr_graph.html +++ b/reference/print.dgr_graph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/recode_edge_attrs.html b/reference/recode_edge_attrs.html index d1582e4d..f08d1b39 100644 --- a/reference/recode_edge_attrs.html +++ b/reference/recode_edge_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/recode_node_attrs.html b/reference/recode_node_attrs.html index e0cd1367..8d936725 100644 --- a/reference/recode_node_attrs.html +++ b/reference/recode_node_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/remove_graph_from_graph_series.html b/reference/remove_graph_from_graph_series.html index 924deb74..2d5ce9af 100644 --- a/reference/remove_graph_from_graph_series.html +++ b/reference/remove_graph_from_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -125,8 +125,8 @@ Examplesseries %>% get_graph_series_info() #> graph name date_time tz nodes edges directed -#> 1 1 graph_mkRJxXyq 2024-02-03 18:44:55 UTC 4 3 TRUE -#> 2 2 graph_ySz3BP7j 2024-02-03 18:44:55 UTC 6 5 TRUE +#> 1 1 graph_mkRJxXyq 2024-02-03 18:48:16 UTC 4 3 TRUE +#> 2 2 graph_ySz3BP7j 2024-02-03 18:48:16 UTC 6 5 TRUE diff --git a/reference/rename_edge_attrs.html b/reference/rename_edge_attrs.html index 3c2b5daa..51424470 100644 --- a/reference/rename_edge_attrs.html +++ b/reference/rename_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/rename_node_attrs.html b/reference/rename_node_attrs.html index 1703b423..314a799e 100644 --- a/reference/rename_node_attrs.html +++ b/reference/rename_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/renderDiagrammeR.html b/reference/renderDiagrammeR.html index 28f96d38..33900643 100644 --- a/reference/renderDiagrammeR.html +++ b/reference/renderDiagrammeR.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/renderGrViz.html b/reference/renderGrViz.html index f1dc86c0..4d1bf8e7 100644 --- a/reference/renderGrViz.html +++ b/reference/renderGrViz.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/render_graph.html b/reference/render_graph.html index 4dc8579d..c522cbae 100644 --- a/reference/render_graph.html +++ b/reference/render_graph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/render_graph_from_graph_series.html b/reference/render_graph_from_graph_series.html index 4d8ef583..e19b9390 100644 --- a/reference/render_graph_from_graph_series.html +++ b/reference/render_graph_from_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/reorder_graph_actions.html b/reference/reorder_graph_actions.html index 549a8bd6..1979e088 100644 --- a/reference/reorder_graph_actions.html +++ b/reference/reorder_graph_actions.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/replace_in_spec.html b/reference/replace_in_spec.html index f638514f..6ad51030 100644 --- a/reference/replace_in_spec.html +++ b/reference/replace_in_spec.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/rescale_edge_attrs.html b/reference/rescale_edge_attrs.html index 69a39abd..a893f896 100644 --- a/reference/rescale_edge_attrs.html +++ b/reference/rescale_edge_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/rescale_node_attrs.html b/reference/rescale_node_attrs.html index 731552a5..2c19308f 100644 --- a/reference/rescale_node_attrs.html +++ b/reference/rescale_node_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/rev_edge_dir.html b/reference/rev_edge_dir.html index 21061bd5..e4f69d8c 100644 --- a/reference/rev_edge_dir.html +++ b/reference/rev_edge_dir.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/rev_edge_dir_ws.html b/reference/rev_edge_dir_ws.html index 96bf3b76..2acacc9d 100644 --- a/reference/rev_edge_dir_ws.html +++ b/reference/rev_edge_dir_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/save_graph.html b/reference/save_graph.html index d1bed3a4..6ace6ffb 100644 --- a/reference/save_graph.html +++ b/reference/save_graph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_edges.html b/reference/select_edges.html index 99230ca2..5c8f5fb2 100644 --- a/reference/select_edges.html +++ b/reference/select_edges.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_edges_by_edge_id.html b/reference/select_edges_by_edge_id.html index e11d2b6a..a35851fd 100644 --- a/reference/select_edges_by_edge_id.html +++ b/reference/select_edges_by_edge_id.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_edges_by_node_id.html b/reference/select_edges_by_node_id.html index f42767dd..821901ea 100644 --- a/reference/select_edges_by_node_id.html +++ b/reference/select_edges_by_node_id.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_last_edges_created.html b/reference/select_last_edges_created.html index 5b68593c..1f674d37 100644 --- a/reference/select_last_edges_created.html +++ b/reference/select_last_edges_created.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_last_nodes_created.html b/reference/select_last_nodes_created.html index d243b6dd..46aec5d0 100644 --- a/reference/select_last_nodes_created.html +++ b/reference/select_last_nodes_created.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_nodes.html b/reference/select_nodes.html index 4ed7e933..def0f22f 100644 --- a/reference/select_nodes.html +++ b/reference/select_nodes.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_nodes_by_degree.html b/reference/select_nodes_by_degree.html index 9fec2f6a..dcc85bb8 100644 --- a/reference/select_nodes_by_degree.html +++ b/reference/select_nodes_by_degree.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_nodes_by_id.html b/reference/select_nodes_by_id.html index 4204d98a..a2c70f27 100644 --- a/reference/select_nodes_by_id.html +++ b/reference/select_nodes_by_id.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_nodes_in_neighborhood.html b/reference/select_nodes_in_neighborhood.html index 13b73ac2..ac3fdcc2 100644 --- a/reference/select_nodes_in_neighborhood.html +++ b/reference/select_nodes_in_neighborhood.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_cache.html b/reference/set_cache.html index 30c78110..1b70da93 100644 --- a/reference/set_cache.html +++ b/reference/set_cache.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_edge_attr_to_display.html b/reference/set_edge_attr_to_display.html index 74428ecd..f6c0071d 100644 --- a/reference/set_edge_attr_to_display.html +++ b/reference/set_edge_attr_to_display.html @@ -24,7 +24,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_edge_attrs.html b/reference/set_edge_attrs.html index 1f210aec..a14e2822 100644 --- a/reference/set_edge_attrs.html +++ b/reference/set_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_edge_attrs_ws.html b/reference/set_edge_attrs_ws.html index 377d14fc..46902a42 100644 --- a/reference/set_edge_attrs_ws.html +++ b/reference/set_edge_attrs_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_graph_directed.html b/reference/set_graph_directed.html index d8423ce4..14abec94 100644 --- a/reference/set_graph_directed.html +++ b/reference/set_graph_directed.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_graph_name.html b/reference/set_graph_name.html index ee743538..0eaf223b 100644 --- a/reference/set_graph_name.html +++ b/reference/set_graph_name.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_graph_time.html b/reference/set_graph_time.html index 9f1bbc1b..dfaf6564 100644 --- a/reference/set_graph_time.html +++ b/reference/set_graph_time.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_graph_undirected.html b/reference/set_graph_undirected.html index d123afe5..051fd1a2 100644 --- a/reference/set_graph_undirected.html +++ b/reference/set_graph_undirected.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_node_attr_to_display.html b/reference/set_node_attr_to_display.html index be29b37a..a4cc4bd2 100644 --- a/reference/set_node_attr_to_display.html +++ b/reference/set_node_attr_to_display.html @@ -24,7 +24,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_node_attr_w_fcn.html b/reference/set_node_attr_w_fcn.html index 838b0fc9..0b2c06ab 100644 --- a/reference/set_node_attr_w_fcn.html +++ b/reference/set_node_attr_w_fcn.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_node_attrs.html b/reference/set_node_attrs.html index 36dafa31..868ba2ba 100644 --- a/reference/set_node_attrs.html +++ b/reference/set_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_node_attrs_ws.html b/reference/set_node_attrs_ws.html index edeb6f6b..956d6f52 100644 --- a/reference/set_node_attrs_ws.html +++ b/reference/set_node_attrs_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_node_position.html b/reference/set_node_position.html index ee90eb40..16becd7b 100644 --- a/reference/set_node_position.html +++ b/reference/set_node_position.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/to_igraph.html b/reference/to_igraph.html index 2f6e134f..38112f58 100644 --- a/reference/to_igraph.html +++ b/reference/to_igraph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -106,7 +106,7 @@ Examples# Get a summary of the igraph # graph object summary(ig_graph) -#> IGRAPH 2ed6f34 DN-B 36 50 -- +#> IGRAPH bc2a283 DN-B 36 50 -- #> + attr: name (v/c), type (v/c), label (v/c), rel (e/c) diff --git a/reference/transform_to_complement_graph.html b/reference/transform_to_complement_graph.html index d32d8a57..a3f55e2b 100644 --- a/reference/transform_to_complement_graph.html +++ b/reference/transform_to_complement_graph.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/transform_to_min_spanning_tree.html b/reference/transform_to_min_spanning_tree.html index 2c8bf08b..413b2d95 100644 --- a/reference/transform_to_min_spanning_tree.html +++ b/reference/transform_to_min_spanning_tree.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/transform_to_subgraph_ws.html b/reference/transform_to_subgraph_ws.html index 82803fe9..7aef1200 100644 --- a/reference/transform_to_subgraph_ws.html +++ b/reference/transform_to_subgraph_ws.html @@ -40,7 +40,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_both.html b/reference/trav_both.html index 1920990e..63eabf53 100644 --- a/reference/trav_both.html +++ b/reference/trav_both.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_both_edge.html b/reference/trav_both_edge.html index fe8084bf..f86105b4 100644 --- a/reference/trav_both_edge.html +++ b/reference/trav_both_edge.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_in.html b/reference/trav_in.html index d611c899..24278a9d 100644 --- a/reference/trav_in.html +++ b/reference/trav_in.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_in_edge.html b/reference/trav_in_edge.html index 7e83ec4e..1e7bbdfd 100644 --- a/reference/trav_in_edge.html +++ b/reference/trav_in_edge.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_in_node.html b/reference/trav_in_node.html index db1135c7..59a2f201 100644 --- a/reference/trav_in_node.html +++ b/reference/trav_in_node.html @@ -34,7 +34,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_in_until.html b/reference/trav_in_until.html index 9bb96202..206cee7d 100644 --- a/reference/trav_in_until.html +++ b/reference/trav_in_until.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_out.html b/reference/trav_out.html index ed580ac2..e8090669 100644 --- a/reference/trav_out.html +++ b/reference/trav_out.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_out_edge.html b/reference/trav_out_edge.html index 411e4a4e..763d9608 100644 --- a/reference/trav_out_edge.html +++ b/reference/trav_out_edge.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_out_node.html b/reference/trav_out_node.html index 02570fa0..4a4323b5 100644 --- a/reference/trav_out_node.html +++ b/reference/trav_out_node.html @@ -34,7 +34,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_out_until.html b/reference/trav_out_until.html index 8d36d4d5..682b5f75 100644 --- a/reference/trav_out_until.html +++ b/reference/trav_out_until.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_reverse_edge.html b/reference/trav_reverse_edge.html index 89232bfe..a4f72061 100644 --- a/reference/trav_reverse_edge.html +++ b/reference/trav_reverse_edge.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trigger_graph_actions.html b/reference/trigger_graph_actions.html index 198fb2a0..83bce4e1 100644 --- a/reference/trigger_graph_actions.html +++ b/reference/trigger_graph_actions.html @@ -20,7 +20,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/usd_exchange_rates.html b/reference/usd_exchange_rates.html index f2b7b031..a45b5a4f 100644 --- a/reference/usd_exchange_rates.html +++ b/reference/usd_exchange_rates.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/visnetwork.html b/reference/visnetwork.html index e7125846..742da93c 100644 --- a/reference/visnetwork.html +++ b/reference/visnetwork.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/x11_hex.html b/reference/x11_hex.html index be7ea186..72a51c4d 100644 --- a/reference/x11_hex.html +++ b/reference/x11_hex.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/search.json b/search.json index 987b7f68..250fd549 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement riannone@.com. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired [Mozilla’s code conduct enforcement ladder][https://github.com/mozilla/inclusion]. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2014-2023 DiagrammeR authors Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"graphviz","dir":"Articles","previous_headings":"","what":"Graphviz","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz support integral part DiagrammeR package. Graphviz consists graph description language called DOT language also comprises various tools can process DOT language. DOT highly customizable allows control line colors, arrow shapes, node shapes, many layout features.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"diagrammer-implementation","dir":"Articles","previous_headings":"","what":"DiagrammeR Implementation","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz graphs, DiagrammeR uses processing function called grViz(). pass grViz() valid graph specification DOT language. DOT graph description can either delivered grViz() form string, reference Graphviz file (.gv file extension), text connection. code examples provided later sections call grViz() function R script pass graph description string. important consider strings R contain unescaped double-quote characters. However, grViz() function allows single-quote characters place. convenience, DOT graph description supplied file (e.g., dot-graph.gv) text connection, either format quotes accepted. recent builds RStudio, use external text file .gv file extension can provide advantage syntax coloring previewing RStudio Viewer pane saving ('Preview Save' selected), , pressing 'Preview' button Source pane.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"defining-a-graphviz-graph","dir":"Articles","previous_headings":"","what":"Defining a Graphviz Graph","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz graph specification must begin directive stating whether directed graph (digraph) undirected graph (graph) desired. Semantically, indicates whether natural direction one edge’s nodes . optional graph ID follows paired curly braces denotes body statement list (stmt_list). Optionally, graph may also described strict. forbids creation multi-edges (.e., can one edge given tail node head node directed case). undirected graphs, can one edge connected two nodes. Subsequent edge statements using two nodes identify edge previously defined one apply attributes given edge statement. basic structure:","code":"[strict] (graph | digraph) [ID] '{' stmt_list '}'"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"statements","dir":"Articles","previous_headings":"","what":"Statements","title":"Graphviz and mermaid in DiagrammeR","text":"graph statement (graph_stmt), node statement (node_stmt), edge statement (edge_stmt) three commonly used statements Graphviz DOT language. Graph statements allow attributes set components graph. Node statements define provide attributes graph nodes. Edge statements specify edge operations nodes supply attributes edges. edge operations, directed graph must specify edge using edge operator -> undirected graph must use -- operator. Within statements follow statement lists. Thus node statement, list nodes expected. edge statement, list edge operations. list items can optionally attribute list (attr_list) modify attributes either node edge. Comments may placed within statement list. can marked using // /* */ structure. Comment lines denoted # character. Multiple statements within statement list can separated linebreaks ; characters multiple statements example nodes (case styled boxes circles) can easily defined along connections:","code":"grViz(\" digraph boxes_and_circles { # a 'graph' statement graph [overlap = true, fontsize = 10] # several 'node' statements node [shape = box, fontname = Helvetica] A; B; C; D; E; F node [shape = circle, fixedsize = true, width = 0.9] // sets as circles 1; 2; 3; 4; 5; 6; 7; 8 # several 'edge' statements A->1 B->2 B->3 B->4 C->A 1->D E->A 2->4 1->5 1->F E->6 4->6 5->7 6->7 3->8 } \")"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"subgraphs-and-clusters","dir":"Articles","previous_headings":"","what":"Subgraphs and Clusters","title":"Graphviz and mermaid in DiagrammeR","text":"Subgraphs play three roles Graphviz. First, subgraph can used represent graph structure, indicating certain nodes edges grouped together. usual role subgraphs typically specifies semantic information graph components. can also provide convenient shorthand edges. edge statement allows subgraph left right sides edge operator. occurs, edge created every node left every node right. example, specification equivalent second role, subgraph can provide context setting attributes. example, subgraph specify blue default color nodes defined . context graph drawing, interesting example anonymous subgraph specifies nodes , B, C placed rank. third role subgraphs directly involves graph laid certain layout types. name subgraph begins cluster, Graphviz notes subgraph special cluster subgraph. supported, layout make nodes belonging cluster drawn together, entire drawing cluster contained within bounding rectangle.","code":"A -> {B C} A -> B A -> C subgraph { rank = same; A; B; C; }"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"graphviz-attributes","dir":"Articles","previous_headings":"","what":"Graphviz Attributes","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz attributes allow style Graphviz graph. Combinations attributes nodes, edges, clusters, entire graph provide highly-customized layouts.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"node-attributes","dir":"Articles","previous_headings":"Graphviz Attributes","what":"Node Attributes","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz attributes specified name-value pairs. Thus, set fillcolor node abc, one use lots node attributes. following provides visual guide notable ones.","code":"abc [fillcolor = red]"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"edge-attributes","dir":"Articles","previous_headings":"Graphviz Attributes","what":"Edge Attributes","title":"Graphviz and mermaid in DiagrammeR","text":"Edge attributes set way node attributes. example, set arrowhead style edge abc -> def, one use Quotation marks important multiword attributes, might used label attribute. Refer following important edge attributes","code":"abc -> def [arrowhead = diamond]"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"colors","dir":"Articles","previous_headings":"Graphviz Attributes","what":"Colors","title":"Graphviz and mermaid in DiagrammeR","text":"default, Graphviz can use colors provided hexadecimal values, , X11 color names. following provides entire list X11 color names. colors additional 4-color palettes based named color. additional colors can used appending digits 1-4 color name. Gray (grey) variations 0-100. Please note , color names, gray interchangeable grey.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"node-shapes","dir":"Articles","previous_headings":"Graphviz Attributes","what":"Node Shapes","title":"Graphviz and mermaid in DiagrammeR","text":"’s shortage shapes available nodes. Nodes can changed default ellipse shape using shape parameter. table provides listing possible node shapes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"arrow-shapes","dir":"Articles","previous_headings":"Graphviz Attributes","what":"Arrow Shapes","title":"Graphviz and mermaid in DiagrammeR","text":"shapes arrows highly customizable. defining edge, arrowhead parameter allows change style arrowhead default normal arrow shape, one several others. arrowhead types used.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"graphviz-substitution","dir":"Articles","previous_headings":"","what":"Graphviz Substitution","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz substitution allows mixing R expressions Graphviz DOT graph specification without sacrificing readability.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"how-it-works","dir":"Articles","previous_headings":"Graphviz Substitution","what":"How It Works","title":"Graphviz and mermaid in DiagrammeR","text":"take advantage substitution rendering graph, simply use grViz() function Graphviz DOT code: notation @@ within GraphViz DOT graph specification indicate substitution take place. Corresponding R expressions (formal graph specification, styled footnotes) provide values substituted. grViz() function autodetect whether working Graphviz DOT graph specification contains @@s curly braces [graph|digraph] {...} DOT construction. specify substitution @@, must ensure valid expression substitution. expressions placed footnotes evaluations must result R vector object (.e., data frame, list, matrix). possibility multiple substitutions, numbering required. Thus, @@ notation immediately followed number number correspond number footnoted R expression. substitution construction : Importantly, footnote expressions reside closing curly brace graph digraph expression. always take form : simple example specifying single node, following substitution syntax used: example, [1]: footnote expression evaluates '', , ’s substituted place @@1 (resultant , turn, taken node ID). Substitutions can also used insert values vector indices graph specification. Simply use format: ’s example specific values vectors can inserted graph: evaluation footnote expressions substitution, graph specification becomes :","code":"grViz(\" [...graph spec with substitutions using @@ notation and footnote R expressions...] \") \"@@\" + [footnote number] \"[\" + [footnote number] + \"]:\" digraph { @@1 } [1]: 'a' \"@@\" + [footnote number] + \"-\" + [index number] digraph alpha { @@1-1; @@1-2; @@1-3; @@1-4; @@1-5 @@1-6; @@1-7; @@1-8; @@1-9; @@1-10 } [1]: LETTERS digraph alpha { A; B; C; D; E F; G; H; I; J }"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"examples","dir":"Articles","previous_headings":"Graphviz Substitution","what":"Examples","title":"Graphviz and mermaid in DiagrammeR","text":"best way demonstrate substitution works set examples. example substituting alphabet letters R’s LETTERS constant Graphviz graph specification. can mix substitutions single-values objects specifying indices R vector objects. example: can seen output: node ID given label “top” (substituting @@1 expression [1]: footnote R expression) nodes ID values b j respectively provided values indices 1 9 (using hyphenated form @@) evaluated expression 10:20 ([2]: footnote expression) Footnote expressions meant flexible. can span multiple lines, can also take objects available global workspace. , long vector object results evaluation, substitution can performed.","code":"grViz(\" digraph a_nice_graph { # node definitions with substituted label text node [fontname = Helvetica] a [label = '@@1'] b [label = '@@2-1'] c [label = '@@2-2'] d [label = '@@2-3'] e [label = '@@2-4'] f [label = '@@2-5'] g [label = '@@2-6'] h [label = '@@2-7'] i [label = '@@2-8'] j [label = '@@2-9'] # edge definitions with the node IDs a -> {b c d e f g h i j} } [1]: 'top' [2]: 10:20 \")"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/node-edge-data-frames.html","id":"node-and-edge-data-frames","dir":"Articles","previous_headings":"","what":"Node and Edge Data Frames","title":"Node and Edge Data Frames","text":"functions used create manipulate specialized data frames: node data frames (NDFs) edge data frames (EDFs). functions useful one can selectively add field data data frames combine necessary addition graph object.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/node-edge-data-frames.html","id":"creating-an-ndf","dir":"Articles","previous_headings":"","what":"Creating an NDF","title":"Node and Edge Data Frames","text":"create_node_df() function, one can create node data frame (NDF) nodes attributes. object really just R data.frame object. cases, ’s recommended use create_node_df() instead data.frame() (, .data.frame()) create NDF. Using create_node_df() allows validation input data (integrity graph compromised) function provides additional functionality base R functions data frame creation : single values repeated n number nodes supplied selective setting attributes (e.g., giving attr values 3 10 nodes, allowing non-set nodes use defaults globally set attr values) supplying overlong vectors attributes result trimming number nodes setting label = FALSE conveniently result non-labeled node function one argument requires values supplied: nodes argument. Just supplying set unique ID values nodes create NDF nodes additional attributes. incorporated graph, NDF parsed column names match keywords node attributes indicate DiagrammeR values columns provide attribute values per-node basis. Columns names don’t match reserved attribute names disregarded , , can include columns useful data analysis. creating node data frame, one column named nodes created (first column NDF). ’s unique values node ID reside. attribute columns, type label columns also created. However, necessarily need populated values thus can left blank, desired. attributes voluntarily added named vectors R triple-dot (...) argument. node attribute names types values supply: color — provide X11 hexadecimal color (append 2 digits hex alpha) distortion — node distortion shape = polygon fillcolor — provide X11 hexadecimal color (append 2 digits hex alpha) fixedsize — true false fontcolor — provide X11 hexadecimal color (append 2 digits hex alpha) fontname — name font fontsize — size font node label height — height node penwidth — thickness stroke shape peripheries — number peripheries (essentially, additional shape outlines) shape — node shape (e.g., ellipse, polygon, circle, etc.) sides — shape = polygon, number sides can provided style — usually given value filled ’d like fill node color tooltip — provide text unstyled browser tooltip width — width node x — x position node (requires graph attr layout = neato use) y — y position node (requires graph attr layout = neato use) following examples, node data frames created. worthwhile things notice . nodes can supplied character vector (c(\"\", \"b\", \"c\", \"d\")), , range integers (1:4). may matter preference, numbering system seems better choice (functions available package take advantage graph ID values available monotonically increasing integer values). Secondly, single logical value can supplied label argument, TRUE copies node ID label attribute, FALSE yields blank, unset value nodes NDF. Finally, provision single values call creates single node result nodes attribute (e.g., color = \"aqua\" sets nodes NDF ‘aqua’ color).","code":"# Create a node data frame nodes_1 <- create_node_df( n = 4, type = \"lower\", label = c(\"a\", \"b\", \"c\", \"d\"), style = \"filled\", color = \"aqua\", shape = c(\"circle\", \"circle\", \"rectangle\", \"rectangle\"), data = c(3.5, 2.6, 9.4, 2.7)) # Inspect the `nodes_1` NDF nodes_1 #> id type label style color shape data #> 1 1 lower a filled aqua circle 3.5 #> 2 2 lower b filled aqua circle 2.6 #> 3 3 lower c filled aqua rectangle 9.4 #> 4 4 lower d filled aqua rectangle 2.7 # Create another node data frame nodes_2 <- create_node_df( n = 4, type = \"upper\", label = TRUE, style = \"filled\", color = \"red\", shape = \"triangle\", data = c(0.5, 3.9, 3.7, 8.2)) # Inspect the `nodes_2` NDF nodes_2 #> id type label style color shape data #> 1 1 upper 1 filled red triangle 0.5 #> 2 2 upper 2 filled red triangle 3.9 #> 3 3 upper 3 filled red triangle 3.7 #> 4 4 upper 4 filled red triangle 8.2"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/node-edge-data-frames.html","id":"creating-an-edf","dir":"Articles","previous_headings":"","what":"Creating an EDF","title":"Node and Edge Data Frames","text":"Using create_edge_df() function, edge data frame (EDF) (comprising edges attributes) created. create_node_df() function, resulting object R data.frame object. usual means creating data frames used create EDF, create_edge_df() function provides conveniences validation final object (e.g., checking uniqueness supplied node ID values). Also, special attribute edge called rel, short relationship. optional attribute, , can left blank. However, ’s advantageous types group labels set edges, especially resulting graph fashioned property graph. (node type values must also set node model graph property graph.) Edges define connections nodes graph. , sense, edge data frame complementary component node data frame within graph. Therefore, EDF contains node ID information two columns named . , making edge data frame, two equal-length vectors need supplied create_edge_df() function: one outgoing node edge (), , another incoming node edge (). two columns contain node ID values. node data frame, attributes can provided edges. following edge attributes can used: arrowhead — arrow style head end (e.g, normal, dot) arrowsize — scaling factor arrowhead arrowtail arrowtail — arrow style tail end (e.g, normal, dot) color — stroke color; X11 color hex code (add 2 digits alpha) dir — direction; either forward, back, , none fontcolor — choose X11 color provide hex code (append 2 digits alpha) fontname — name font fontsize — size font node label headport — cardinal direction arrowhead meets node label — label text line nodes minlen — minimum rank distance head tail penwidth — thickness stroke arrow tailport — cardinal direction tail emitted node tooltip — provide text edge tooltip examples edge data frames can created:","code":"# Create an edge data frame edges_1 <- create_edge_df( from = c(1, 1, 2, 3), to = c(2, 4, 4, 1), rel = \"requires\", color = \"green\", data = c(2.7, 8.9, 2.6, 0.6)) edges_1 #> id from to rel color data #> 1 1 1 2 requires green 2.7 #> 2 2 1 4 requires green 8.9 #> 3 3 2 4 requires green 2.6 #> 4 4 3 1 requires green 0.6 # Create another edge data frame edges_2 <- create_edge_df( from = c(5, 7, 8, 8), to = c(8, 8, 6, 5), rel = \"receives\", arrowhead = \"dot\", color = \"red\") edges_2 #> id from to rel arrowhead color #> 1 1 5 8 receives dot red #> 2 2 7 8 receives dot red #> 3 3 8 6 receives dot red #> 4 4 8 5 receives dot red"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/node-edge-data-frames.html","id":"combining-ndfs","dir":"Articles","previous_headings":"","what":"Combining NDFs","title":"Node and Edge Data Frames","text":"Several node data frames (NDFs) can combined one using combine_ndfs() function. can combine two NDFs single call combine_ndfs(), , combine even single pass. may occasion combine several NDFs single node data frame. combine_ndfs() function works much like base R rbind() function except accepts NDFs columns differing number, names, ordering. Obtaining several node data frames may result collecting data various sources, different times (collected data different), , simply multiple calls create_node_df() practical readability purposes, name examples. Speaking examples:","code":"# Create an NDF nodes_1 <- create_node_df( n = 4, label = 1:4, type = \"lower\", data = c(8.2, 5.2, 1.2, 14.9)) # Create another NDF nodes_2 <- create_node_df( n = 4, label = 5:8, type = \"upper\", data = c(0.3, 6.3, 10.7, 1.2)) # Combine the NDFs all_nodes <- combine_ndfs(nodes_1, nodes_2) all_nodes #> id type label data #> 1 1 lower 1 8.2 #> 2 2 lower 2 5.2 #> 3 3 lower 3 1.2 #> 4 4 lower 4 14.9 #> 5 5 upper 5 0.3 #> 6 6 upper 6 6.3 #> 7 7 upper 7 10.7 #> 8 8 upper 8 1.2"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/node-edge-data-frames.html","id":"combining-edfs","dir":"Articles","previous_headings":"","what":"Combining EDFs","title":"Node and Edge Data Frames","text":"may cases one might take data one data frames create multiple edge data frames. One can combine multiple edge data frames (EDFs) combine_edfs() function. number EDFs can safely combined one call function. , advantageous use combining function purpose coalescing EDFs. single, combined EDF generated, much easier incorporate data DiagrammeR graph object.","code":"# Create an edge data frame edges_1 <- create_edge_df( from = c(1, 1, 2, 3), to = c(2, 4, 4, 1), rel = \"requires\", color = \"green\", data = c(2.7, 8.9, 2.6, 0.6)) # Create another edge data frame edges_2 <- create_edge_df( from = c(5, 7, 8, 8), to = c(8, 8, 6, 5), rel = \"receives\", arrowhead = \"dot\", color = \"red\") # Combine edge data frames with 'combine_edfs' all_edges <- combine_edfs(edges_1, edges_2) all_edges #> id from to rel color data arrowhead #> 1 1 1 2 requires green 2.7 #> 2 2 1 4 requires green 8.9 #> 3 3 2 4 requires green 2.6 #> 4 4 3 1 requires green 0.6 #> 5 5 5 8 receives red NA dot #> 6 6 7 8 receives red NA dot #> 7 7 8 6 receives red NA dot #> 8 8 8 5 receives red NA dot"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/selections.html","id":"creating-a-node-selection","dir":"Articles","previous_headings":"","what":"Creating a Node Selection","title":"Selections","text":"Selecting nodes graph accomplished targeting specific node attribute (e.g., type, label, styling attributes width, available, arbitrary data values available nodes). select_*() functions, graph argument first function signature. beneficial forward-piping graph pipeline propagating series transformations graph. may situations several types selections applied graphs nodes edges (say, selecting nodes graph first step subtracting nodes specific type group) pipeline paradigm becomes incredibly useful, , added bonus, easy read reason . main handle selectivity select_nodes() function node attributes graph’s internal NDF, contains columns possible node attributes graph. providing expression conditions, nodes placed active selection TRUE. two common types expressions work well conditions argument: logical expression comparison operator (>, <, ==, !=) regular expression filtering via string matching Let’s create simple graph four nodes numeric data values. , ’ll inspect graph’s internal NDF see starting . first example, nodes selected based logical expression operating collection numeric values. examine result selection, get_node_df_ws() used. function display table active selection nodes graph (like get_node_df(), subset nodes). selection nodes can obtained match using regular expression operating collection character-based values (node attribute named fruits). uses grepl() function expression supplied conditions. regular expression use ^ap, ^ denotes beginning text parsed. situation may arise specialized match needs made (.e., matching , , matching two different types things). set_op argument can become useful. selection nodes obtained using select_nodes() (select_*() functions operate nodes), selection stored graph object. seen examples get_selection() used verify nodes selection. selection retained (least clear_selection() called, , selection edges made), multiple uses select_nodes() can modify set selected nodes depending option provided set_op argument. set operations : union: creates union selected nodes consecutive operations create selection nodes (default option) intersect: modifies list selected nodes nodes common consecutive node selection operations retained difference: modifies list selected nodes nodes retained different second node selection operation compared first set operations behave exactly base R functions: union(), intersect()/intersection(), setdiff() (actually used internally). Furthermore, select_*() functions contain set_op argument, , behave way regard modifying node edge selection pipeline selection operations. examples important fully understanding can work complex selections, quite provided . example graph now bit complex. contain 9 nodes, three different types (fruit, veg, nut). label node attribute name food, count attribute contains arbitrary numeric values. Let’s successively use two select_nodes() calls select foods either begin c end e. set, use union set operation second call select_nodes(). conditions don’t need related. first , ’s matching expression using grepl(). second filtering nodes count < 5. following example contains pair select_nodes() statements, first filters nodes fruit group (type == \"fruit\") excludes subset nodes (fruit containing “apple” name) using set_op = \"difference\". additional filtering option available nodes argument. , vector node ID values can supplied indicate function subset nodes considered select_nodes(). Note , nothing provided conditions nodes given vector node ID values, nodes make selection function call. convenient often good method selecting nodes (long one knows node IDs need selected), function select_nodes_by_id() handles use case directly (filters based nodes argument). Let’s now perform call select_nodes() contains expression conditions argument, , range node ID values nodes argument.","code":"# Create a node data frame ndf <- create_node_df( n = 4, data = c( 9.7, 8.5, 2.2, 6.0) ) # Create a new graph based on the ndf graph <- create_graph(nodes_df = ndf) # Inspect the graph's NDF graph %>% get_node_df() #> id type label data #> 1 1 9.7 #> 2 2 8.5 #> 3 3 2.2 #> 4 4 6.0 # Select nodes where the `data` attribute # has a value greater than 7.0 (it's the # first 2 nodes) graph <- graph %>% select_nodes( conditions = data > 7.0 ) # Get the graph's current selection # of nodes as a table graph %>% get_node_df_ws() #> id type label data #> 1 1 9.7 #> 2 2 8.5 # Create a node data frame ndf <- create_node_df( n = 4, fruits = c( \"apples\", \"apricots\", \"bananas\", \"plums\") ) # Create a new graph based on the ndf graph <- create_graph(nodes_df = ndf) # Select nodes where the `fruits` # attribute has a match on the first # letters being `ap` (the first 2 nodes) graph <- graph %>% select_nodes( conditions = grepl(\"^ap\", fruits) ) # Get the graph's current selection # of nodes as a table graph %>% get_node_df_ws() #> id type label fruits #> 1 1 apples #> 2 2 apricots # Create a node data frame ndf <- create_node_df( n = 9, type = c( \"fruit\", \"fruit\", \"fruit\", \"veg\", \"veg\", \"veg\", \"nut\", \"nut\", \"nut\"), label = c( \"pineapple\", \"apple\", \"apricot\", \"cucumber\", \"celery\", \"endive\", \"hazelnut\", \"almond\", \"chestnut\"), count = c( 6, 3, 8, 7, 2, 6, 9, 9, 7) ) # Create a new graph based on the ndf graph <- create_graph(nodes_df = ndf) # Inspect the graph's NDF graph %>% get_node_df() #> id type label count #> 1 1 fruit pineapple 6 #> 2 2 fruit apple 3 #> 3 3 fruit apricot 8 #> 4 4 veg cucumber 7 #> 5 5 veg celery 2 #> 6 6 veg endive 6 #> 7 7 nut hazelnut 9 #> 8 8 nut almond 9 #> 9 9 nut chestnut 7 # Select all foods that either begin # with `c` or ending with `e` graph_1 <- graph %>% select_nodes( conditions = grepl(\"^c\", label) ) %>% select_nodes( conditions = grepl(\"e$\", label), set_op = \"union\" ) # Get the graph's current selection # of nodes as a table graph_1 %>% get_node_df_ws() #> id type label count #> 1 1 fruit pineapple 6 #> 2 2 fruit apple 3 #> 3 4 veg cucumber 7 #> 4 5 veg celery 2 #> 5 6 veg endive 6 #> 6 9 nut chestnut 7 # Select any food beginning with `a` and # having a count less than 5 graph_2 <- graph %>% select_nodes( conditions = grepl(\"^a\", label) ) %>% select_nodes( conditions = count < 5, set_op = \"intersect\" ) # Get the graph's current selection # of nodes as a table graph_2 %>% get_node_df_ws() #> id type label count #> 1 2 fruit apple 3 # Select any fruit not containing # `apple` in its name graph_3 <- graph %>% select_nodes( conditions = type == \"fruit\" ) %>% select_nodes( conditions = grepl(\"apple\", label), set_op = \"difference\" ) # Get the graph's current selection # of nodes as a table graph_3 %>% get_node_df_ws() #> id type label count #> 1 3 fruit apricot 8 # Create a node data frame ndf <- create_node_df( n = 10, data = seq(0.5, 5, 0.5) ) # Create a new graph based on the ndf graph <- create_graph(nodes_df = ndf) # Inspect the graph's NDF graph %>% get_node_df() #> id type label data #> 1 1 0.5 #> 2 2 1.0 #> 3 3 1.5 #> 4 4 2.0 #> 5 5 2.5 #> 6 6 3.0 #> 7 7 3.5 #> 8 8 4.0 #> 9 9 4.5 #> 10 10 5.0 # Select from a subset of nodes # (given as `nodes = 1:6`) where # the `data` value is greater than `1.5` graph <- graph %>% select_nodes( conditions = data > 1.5, nodes = 1:6 ) # Get the graph's current selection # of nodes as a table graph %>% get_node_df_ws() #> id type label data #> 1 4 2.0 #> 2 5 2.5 #> 3 6 3.0"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/selections.html","id":"creating-an-edge-selection","dir":"Articles","previous_headings":"","what":"Creating an Edge Selection","title":"Selections","text":"Selecting edges graph done manner quite similar selecting nodes. primary means targeting specific edges available edge attributes (e.g., rel, styling attributes color, arbitrary data values available edges). start creating graph four nodes four edges. edges edge attribute called data contains numeric values. following example shows create selections edges based logical expression operating collection numeric values data attribute.","code":"# Create a node data frame ndf <- create_node_df(n = 4) # Create an edge data frame edf <- create_edge_df( from = c(1, 2, 3, 4), to = c(2, 3, 4, 1), data = c( 8.6, 2.8, 6.3, 4.5) ) # Create a new graph from # the NDF and EDF graph <- create_graph( nodes_df = ndf, edges_df = edf ) # Inspect the graph's EDF graph %>% get_edge_df() #> id from to rel data #> 1 1 1 2 8.6 #> 2 2 2 3 2.8 #> 3 3 3 4 6.3 #> 4 4 4 1 4.5 # Select edges where the `data` # attribute has a value # greater than 5.0 graph <- graph %>% select_edges( conditions = data > 5.0 ) # Get the graph's current selection # of edges as a table graph %>% get_edge_df_ws() #> id from to rel data #> 1 1 1 2 8.6 #> 2 3 3 4 6.3"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/selections.html","id":"selecting-the-last-node-or-edge-in-an-ndf-or-edf","dir":"Articles","previous_headings":"","what":"Selecting the Last Node or Edge in an NDF or EDF","title":"Selections","text":"can select last node edge graph’s internal node data frame (NDF) internal edge data frame (EDF), respectively. Usually, last node edge created since new nodes edges added bottom data frame shuffling positions. Immediately creating single node edge, calling either select_last_node() select_last_edge() functions result selection last node edge created. functions, graph argument. provide graph object select_last_nodes_created() get active selection nodes (last nodes added graph object). Likewise, select_last_edges_created() create active selection edges, whichever edges last defined function call. begin, ’ll use graph ’ll clear active selection using clear_selection() function. ensure active selection nodes edges, can use get_selection() function. value NA means neither selection nodes edges. use select_last_nodes_created graph, find active selection nodes contains nodes graph, produced create_graph() function (nodes added subsequent operations). goes edges. Using select_last_edges_created() make selection edges includes edges graph. functions become useful building graph multiple steps. next example, start empty graph (using create_graph() ) add single node add_node(), select node select_last_nodes_created(). selection---pipeline approach makes easy set node attributes can use set_node_attrs_ws() function. example, ’re adding new timestamp attribute assigning value (system time). selection persistent, can set attributes calls set_node_attrs_ws(). done node selection, call clear_selection() function return clean slate active selection present (removes node edge selection graph object). example proceeds create another new node adding attributes, new edge edge attributes (set_edge_attrs_ws()). facilitated select_last_nodes_created() select_last_edges_created() functions. graph shows two nodes connected together. Nothing , nothing less. interesting views data node edge data frames, now several attributes set. Let’s look graph’s internal node data frame… …let’s inspect graph’s internal edge data frame. can seen, immediately invoking select_last_nodes_created() select_last_edges_created() addition new nodes edges can useful working newly made nodes/edges. Many functions ending _ws() operate specifically selections nodes edges.","code":"# Clear the graph's selection graph <- graph %>% clear_selection() # Check whether there is still # a selection present graph %>% get_selection() #> [1] NA # Select the last node in the graph's NDF and confirm # that the selection was made graph %>% select_last_nodes_created() %>% get_node_df_ws() #> id type label #> 1 1 #> 2 2 #> 3 3 #> 4 4 # Select the last edge in the graph's EDF and confirm # that the selection was made graph %>% select_last_edges_created() %>% get_edge_df_ws() #> id from to rel data #> 1 1 1 2 8.6 #> 2 2 2 3 2.8 #> 3 3 3 4 6.3 #> 4 4 4 1 4.5 # Create a graph, node-by-node and # edge-by-edge and add attributes graph_2 <- create_graph() %>% add_node() %>% select_last_nodes_created() %>% set_node_attrs_ws( node_attr = \"timestamp\", value = as.character(Sys.time()) ) %>% set_node_attrs_ws( node_attr = \"type\", value = \"A\" ) %>% clear_selection() %>% add_node() %>% select_last_nodes_created() %>% set_node_attrs_ws( node_attr = \"timestamp\", value = as.character(Sys.time()) ) %>% set_node_attrs_ws( node_attr = \"type\", value = \"B\" ) %>% add_edge( from = 1, to = 2, rel = \"AB\" ) %>% select_last_edges_created() %>% set_edge_attrs_ws( edge_attr = \"timestamp\", value = as.character(Sys.time()) ) %>% clear_selection() # View the new graph graph_2 %>% render_graph() # Inspect the new graph's NDF graph_2 %>% get_node_df() #> id type label timestamp #> 1 1 A 2024-02-03 18:45:15.490068 #> 2 2 B 2024-02-03 18:45:15.513726 # Inspect the new graph's EDF graph_2 %>% get_edge_df() #> id from to rel timestamp #> 1 1 1 2 AB 2024-02-03 18:45:15.532175"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/simple-graphs-ndfs-edfs.html","id":"creating-a-graph-object","dir":"Articles","previous_headings":"","what":"Creating a Graph Object","title":"Creating Simple Graphs from NDFs/EDFs","text":"create_graph() function creates graph object. function also allows initialization graph name, setting node_df edge_df, graph theme. key options create_graph() function : nodes_df — optional data frame graph’s nodes (vertices) attributes edges_df — optional data frame edges nodes/vertices attributes directed — required logical value stating whether graph considered directed graph (TRUE, default) undirected graph (FALSE) graph_name — optional character vector name graph nodes_df edges_df arguments, one can supply node data frame edge data frame, respectively. dgr_graph object can initialized without nodes edges (supplying NDF EDF function call), favorable option supplying nodes edges using functions modify existing graph. example whereby empty graph (initialized directed graph) created. Note graph’s internal nodes_df edges_df data frames empty , signifying empty graph. ’s possible include NDF EDF calling create_graph(). get edgeless graph (graph nodes edges nodes. edges can always defined later (functions add_edge(), add_edge_df(), add_edges_from_table(), etc., functions covered subsequent section). Quite often, cases node edge attributes applied nodes edges graph. achieve , ’s need create columns NDFs EDFs attributes (repeat attribute values rows columns). Default graph attributes can provided graph graph_attrs, node_attrs, edge_attrs arguments. supply attributes, use vectors graph, node, edge attributes. want graph directed graph, value directed argument set TRUE (default value). Choose FALSE undirected graph. next example include nodes edges contained within graph object. case, values type rel attributes nodes edges, respectively, provided. Adding values attributes optional important data modeling work.","code":"# Create the graph object graph <- create_graph() # Get the class of the object class(graph) #> [1] \"dgr_graph\" # It's an empty graph, so the NDF has no rows get_node_df(graph) #> [1] id type label #> <0 rows> (or 0-length row.names) # The EDF doesn't have any rows either get_edge_df(graph) #> [1] id from to rel #> <0 rows> (or 0-length row.names) # By default, the graph is considered directed is_graph_directed(graph) #> [1] TRUE # Create a node data frame ndf <- create_node_df( n = 4, label = 1:4, type = \"lower\", style = \"filled\", color = \"aqua\", shape = c(\"circle\", \"circle\", \"rectangle\", \"rectangle\"), data = c(3.5, 2.6, 9.4, 2.7) ) # Inspect the NDF ndf #> id type label style color shape data #> 1 1 lower 1 filled aqua circle 3.5 #> 2 2 lower 2 filled aqua circle 2.6 #> 3 3 lower 3 filled aqua rectangle 9.4 #> 4 4 lower 4 filled aqua rectangle 2.7 # Create the graph and include the # `nodes` NDF graph <- create_graph(nodes_df = ndf) # Examine the NDF within the graph object get_node_df(graph) #> id type label style color shape data #> 1 1 lower 1 filled aqua circle 3.5 #> 2 2 lower 2 filled aqua circle 2.6 #> 3 3 lower 3 filled aqua rectangle 9.4 #> 4 4 lower 4 filled aqua rectangle 2.7 # Check if it's the same NDF (both externally # and internally) all(ndf == graph %>% get_node_df()) #> [1] TRUE ### # Create a graph with both nodes and edges # defined, and, add some default attributes # for nodes and edges ### # Create a node data frame ndf <- create_node_df( n = 4, label = c(\"a\", \"b\", \"c\", \"d\"), type = \"lower\", style = \"filled\", color = \"aqua\", shape = c(\"circle\", \"circle\", \"rectangle\", \"rectangle\"), data = c(3.5, 2.6, 9.4, 2.7) ) edf <- create_edge_df( from = c(1, 2, 3), to = c(4, 3, 1), rel = \"leading_to\" ) graph <- create_graph( nodes_df = ndf, edges_df = edf ) %>% set_node_attrs( node_attr = \"fontname\", values = \"Helvetica\" ) %>% set_edge_attrs( edge_attr = \"color\", values = \"blue\" ) %>% set_edge_attrs( edge_attr = \"arrowsize\", values = 2 ) # Examine the NDF within the graph object get_node_df(graph) #> id type label style color shape data fontname #> 1 1 lower a filled aqua circle 3.5 Helvetica #> 2 2 lower b filled aqua circle 2.6 Helvetica #> 3 3 lower c filled aqua rectangle 9.4 Helvetica #> 4 4 lower d filled aqua rectangle 2.7 Helvetica # Have a look at the graph's EDF get_edge_df(graph) #> id from to rel color arrowsize #> 1 1 1 4 leading_to blue 2 #> 2 2 2 3 leading_to blue 2 #> 3 3 3 1 leading_to blue 2"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/simple-graphs-ndfs-edfs.html","id":"viewing-a-graph-object","dir":"Articles","previous_headings":"","what":"Viewing a Graph Object","title":"Creating Simple Graphs from NDFs/EDFs","text":"render_graph() function, ’s possible view graph object, , output DOT code current state graph. Let’s look graph created last example: ’d like return Graphviz DOT code (, perhaps, share use directly Graphviz command-line utility), can use generate_dot() function. ’s simple example:","code":"graph %>% render_graph() # Take the graph object and generate a character # vector with Graphviz DOT code (using cat() for # a better appearance) graph %>% generate_dot() %>% cat() #> digraph { #> #> graph [layout = 'neato', #> outputorder = 'edgesfirst', #> bgcolor = 'white'] #> #> node [fontname = 'Helvetica', #> fontsize = '10', #> shape = 'circle', #> fixedsize = 'true', #> width = '0.5', #> style = 'filled', #> fillcolor = 'aliceblue', #> color = 'gray70', #> fontcolor = 'gray50'] #> #> edge [fontname = 'Helvetica', #> fontsize = '8', #> len = '1.5', #> color = 'gray80', #> arrowsize = '0.5'] #> #> '1' [label = 'a', style = 'filled', color = 'aqua', shape = 'circle', fontname = 'Helvetica'] #> '2' [label = 'b', style = 'filled', color = 'aqua', shape = 'circle', fontname = 'Helvetica'] #> '3' [label = 'c', style = 'filled', color = 'aqua', shape = 'rectangle', fontname = 'Helvetica'] #> '4' [label = 'd', style = 'filled', color = 'aqua', shape = 'rectangle', fontname = 'Helvetica'] #> '1'->'4' [color = 'blue', arrowsize = '2'] #> '2'->'3' [color = 'blue', arrowsize = '2'] #> '3'->'1' [color = 'blue', arrowsize = '2'] #> }"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/traversals.html","id":"traversals-across-nodes","dir":"Articles","previous_headings":"","what":"Traversals Across Nodes","title":"Traversals","text":"traverse across connected nodes without regard properties edges nodes, three functions available: trav_out(), trav_in(), trav_both(). types traversals always require initial selection one nodes, , traversing, selection one nodes returned. Directionality traversal key differentiator three functions. trav_out() function allows traversals connected nodes outbound nodes relation origin nodes (directed graph). trav_in() function, movement reversed: traversals towards connected nodes inbound nodes. example, take edge described 1->2 origin node node ID 1; trav_out() function change node selection node 1 node 2 nodes adjacent edge leads origin node outbound node. node 1 outbound edges nodes (e.g., 1->{2,3,4}) nodes connected outbound edges origin node part new selection. Take another example central node selected node, node outbound inbound edges adjacent nodes: {2,3,4}->1->{5,6,7}. function trav_in() used, nodes 2, 3, 4 become selected nodes; using trav_out() result nodes 5, 6, 7 becoming selected nodes. several examples traversals across nodes. Let’s perform two types traversals single node using trav_out() trav_in(). First, ’ll create simple graph two nodes edge (1 -> 2). Starting node 1 (initial selection), traverse node 2. traversal can occur, selection altered. demonstrate, let’s use similar set steps graph opposite edge direction. type traversal can’t alter selection outbound edges node 1, just inbound edge (2 -> 1). make traversal possible, need use trav_in() function instead. Multiple traversals can made single set statements. Let’s create path graph containing five nodes add_path() function. obtain graph form: 1->2->3->4->5 can easily create initial selection node 1 select_nodes_by_id() function. several calls trav_out() succession, can move selection node 1 node 5. Traversals commonly performed initial selection contains multiple nodes (usually, nodes something common ). Let’s look slightly complex graph multiple nodes initial selection can migrated final selection traversal. can now take selection (still central node 1) traverse via outbound edges adjacent nodes: 2, 3, 4, 5, 6. Alternatively, initial selection 1 can traverse via inbound edges adjacent nodes (trav_in()) expect different final selection nodes (7, 8, 9, 10, 11). trav_both() function results traversals adjacent nodes regardless edge directions nodes. , sense, direction movement adjacent nodes , , . example {2,3,4}->1->{5,6,7}, node 1 node selection, nodes 2 node 6 part new selection calling trav_both(). far, functions described modifying selections nodes based solely node adjacency direction edges adjacent nodes. Indeed without supplying values function, traversals occur without regard attributes nodes traversed . However, arguments node_attr match available filtering traversals satisfy logical statements numeric attributes matches character attributes. property graph, values available nodes’ type attribute edges’ rel attribute, traversal trav_out() , example, performed outbound, adjacent nodes specific type label. done setting node_attr = type providing value type match argument. limited starting traversal single node ID value. can, example, begin selection nodes based regular expression traverse matching type string value (node attributes character values). following example uses random graph food entities arbitrary edges . Traversing node node trav_out(), trav_in(), trav_both() can result specific targeting nodes. seen, traversal occurred, new selection can used obtain data nodes, , modify graph (adding new nodes selection). Especially used within pipeline, selection nodes, traversals, resulting actions quite readable.","code":"pre <- create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 1, to = 2) %>% select_nodes_by_id(nodes = 1) # Create a simple graph, create a single- # node selection and traverse to the other # node; obtain the final selection create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 1, to = 2) %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% get_selection() #> [1] 2 # Create a simple graph, create a single- # node selection and then attempt to traverse # to the other node; obtain the final selection create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 2, to = 1) %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% get_selection() #> [1] 1 # A traversal can occur if `trav_in()` is used # instead of `trav_out()` create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 2, to = 1) %>% select_nodes_by_id(nodes = 1) %>% trav_in() %>% get_selection() #> [1] 2 # Traverse across a path graph one # step at a time with `trav_out()` create_graph() %>% add_path(n = 5) %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% trav_out() %>% trav_out() %>% trav_out() %>% get_selection() #> [1] 5 graph_1 <- create_graph() %>% add_node() %>% select_nodes_by_id(nodes = 1) %>% add_n_nodes_ws( n = 5, direction = \"from\" ) %>% add_n_nodes_ws( n = 5, direction = \"to\" ) graph_1 %>% render_graph() graph_1 %>% trav_out() %>% get_selection() #> [1] 2 3 4 5 6 graph_1 %>% trav_in() %>% get_selection() #> [1] 7 8 9 10 11 # Create the graph described in the paragraph # above ({`2...4`} -> `1` -> {`5...7`}), # start from node `1` (as a selection), # traverse to all other adjacent nodes and # then obtain the current selection create_graph() %>% add_node() %>% select_nodes_by_id(nodes = 1) %>% add_n_nodes_ws( n = 3, direction = \"to\" ) %>% add_n_nodes_ws( n = 3, direction = \"from\" ) %>% trav_both() %>% get_selection() #> [1] 2 3 4 5 6 7 # Create a common graph with nodes having # various `type` values; set to render # always using `visNetwork` when calling # `render_graph()` graph <- create_graph() %>% add_node(type = \"type_a\") %>% add_n_nodes( n = 4, type = \"type_b\" ) %>% add_edge(from = 1, to = 2) %>% add_edge(from = 1, to = 3) %>% add_edge(from = 4, to = 1) %>% add_edge(from = 5, to = 1) %>% add_n_nodes( n = 4, type = \"type_c\" ) %>% add_edge(from = 1, to = 6) %>% add_edge(from = 1, to = 7) %>% add_edge(from = 8, to = 1) %>% add_edge(from = 9, to = 1) # View the created graph graph %>% render_graph() graph %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% get_selection() #> [1] 2 3 6 7 graph %>% select_nodes_by_id(nodes = 1) %>% trav_out(conditions = type == \"type_b\") %>% get_selection() #> [1] 2 3 graph %>% select_nodes_by_id(nodes = 1) %>% trav_out(conditions = type == \"type_c\") %>% get_selection() #> [1] 6 7 # Once the nodes have been selected via # a traversal, a useful thing to do would # be to attach new nodes to that selection updated_graph <- graph %>% select_nodes_by_id(nodes = 1) %>% trav_out(conditions = type == \"type_c\") %>% add_n_nodes_ws( n = 1, direction = \"from\", type = \"type_d\" ) # View the updated graph updated_graph %>% render_graph() # Create a graph with fruit, vegetables, # and nuts ndf <- create_node_df( n = 9, type = c( \"fruit\", \"fruit\", \"fruit\", \"veg\", \"veg\", \"veg\", \"nut\", \"nut\", \"nut\" ), label = c( \"pineapple\", \"apple\", \"apricot\", \"cucumber\", \"celery\", \"endive\", \"hazelnut\", \"almond\", \"chestnut\" ) ) edf <- create_edge_df( from = c( 9, 3, 6, 2, 6, 2, 8, 2, 5, 5 ), to = c( 1, 1, 4, 3, 7, 8, 1, 5, 3, 6 ) ) graph <- create_graph( nodes_df = ndf, edges_df = edf ) # View the graph graph %>% render_graph() # View the internal NDF for sake of # reference graph %>% get_node_df() #> id type label #> 1 1 fruit pineapple #> 2 2 fruit apple #> 3 3 fruit apricot #> 4 4 veg cucumber #> 5 5 veg celery #> 6 6 veg endive #> 7 7 nut hazelnut #> 8 8 nut almond #> 9 9 nut chestnut # Select all nodes with a label beginning # with `a` and traverse outward to all nodes graph %>% select_nodes( conditions = grepl(\"^a\", label) ) %>% trav_out() %>% get_selection() #> [1] 1 3 5 8 # This traversal results in a rather large # selection of nodes: `3` (`apricot`), `8` # (`almond`), `5` (`celery`), and `1` # (`pineapple`) # Now, select all nodes with a label beginning # with `c` (in this case, the `cucumber` and # `chestnut` and then traverse outward to any # node of the `fruit` type graph %>% select_nodes( conditions = grepl(\"^c\", label) ) %>% trav_out( conditions = type == \"fruit\" ) %>% get_selection() #> [1] 1 3 # The traversal has resulted in a selection of # nodes `3` (`apricot`) and `1` (`pineapple`)"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/traversals.html","id":"traversals-from-nodes-to-edges","dir":"Articles","previous_headings":"","what":"Traversals from Nodes to Edges","title":"Traversals","text":"Moving across nodes using traversal functions quite powerful thing . However, especially information-rich graphs, useful data can exist graph’s edges. reason, can traverse nodes onto adjacent edges. node--node traversal functions, direction edge important key distinction functions trav_out_edge() trav_in_edge(). types traversals always begin nodes (thus require initial selection one nodes) typically end selection one edges. traversal can made, initial selection nodes retained. Starting trav_out_edge() function, suppose selection single node 1 simple graph 1->2. Calling trav_out_edge() function simplest form (without values supplied except graph ) result edge selection edge 1->2 edge. Thus, traversal one nodes onto adjacent, outward edges. graph, selection, calling trav_in_edge() function result traversal (initial node selection node 1 retained, though nothing happened). trav_in_edge() function performs converse traversal, traversal one nodes onto adjacent, inward edges. Put another way, trav_in_edge() change selection edges point toward initially-selected node(s), . node--node traversal functions, traversals much powerful used matching conditions increase selectivity. certain edges may traversed (selected) important, especially cases traversal continues onto nodes (next section). Examples aid understanding functions. introduce conditions traversal, can use conditions argument. node--node traversal functions, optional values induce filtering node--edge traversals. graph fashioned property graph values set node type edge rel attributes, traversals trav_out_edge() trav_in_edge() restricted selection edges specific rel label.","code":"# Create a simple graph with two nodes, an # edge between them (`1` -> `2`); starting # from node `1` (as a selection), traverse # to the edge and then obtain the current # selection create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 1, to = 2) %>% select_nodes_by_id(nodes = 1) %>% trav_out_edge() %>% get_selection() #> [1] 1 # If no traversal can occur the selection is # not altered. To demonstrate, use a similar # pipeline but reverse the edge direction create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 2, to = 1) %>% select_nodes_by_id(nodes = 1) %>% trav_out_edge() %>% get_selection() #> [1] 1 # A traversal can occur if `trav_in_edge()` # is used instead of `trav_out_edge()` create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 2, to = 1) %>% select_nodes_by_id(nodes = 1) %>% trav_in_edge() %>% get_selection() #> [1] 1 # A selection of multiple edges can occur # as a result of a traversal create_graph() %>% add_node() %>% select_nodes_by_id(nodes = 1) %>% add_n_nodes_ws( n = 10, direction = \"from\" ) %>% add_n_nodes_ws( n = 10, direction = \"to\" ) %>% trav_out_edge() %>% get_selection() #> [1] 1 2 3 4 5 6 7 8 9 10 create_graph() %>% add_node() %>% select_nodes_by_id(nodes = 1) %>% add_n_nodes_ws( n = 10, direction = \"from\" ) %>% add_n_nodes_ws( n = 10, direction = \"to\" ) %>% trav_in_edge() %>% get_selection() #> [1] 11 12 13 14 15 16 17 18 19 20 # First, set a seed so the example # is reproducible suppressWarnings(RNGversion(\"3.5.0\")) set.seed(20) # Create a graph with fruit, # vegetables, nuts, and... people! ndf <- create_node_df( n = 14, type = c( \"person\", \"person\", \"person\", \"person\", \"person\", \"fruit\", \"fruit\", \"fruit\", \"veg\", \"veg\", \"veg\", \"nut\", \"nut\", \"nut\" ), label = c( \"Annie\", \"Donna\", \"Justine\", \"Ed\", \"Graham\", \"pineapple\", \"apple\", \"apricot\", \"cucumber\", \"celery\", \"endive\", \"hazelnut\", \"almond\", \"chestnut\" ) ) edf <- create_edge_df( from = sort( as.vector(replicate(5, 1:5)) ), to = as.vector( replicate(5, sample(6:14, 5)) ), rel = as.vector( replicate( 5, sample( c( \"likes\", \"dislikes\", \"allergic_to\" ), 5, TRUE, c(0.5, 0.25, 0.25) ) ) ) ) graph <- create_graph( nodes_df = ndf, edges_df = edf ) graph %>% render_graph()"},{"path":"https://rich-iannone.github.io/DiagrammeR/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Richard Iannone. Author, maintainer. Olivier Roy. Author.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Iannone R, Roy O (2024). DiagrammeR: Graph/Network Visualization. R package version 1.0.11, https://github.com/rich-iannone/DiagrammeR, https://rich-iannone.github.io/DiagrammeR/.","code":"@Manual{, title = {DiagrammeR: Graph/Network Visualization}, author = {Richard Iannone and Olivier Roy}, year = {2024}, note = {R package version 1.0.11, https://github.com/rich-iannone/DiagrammeR}, url = {https://rich-iannone.github.io/DiagrammeR/}, }"},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"graph-basics","dir":"","previous_headings":"","what":"Graph Basics","title":"Graph/Network Visualization","text":"Let’s create graph object create_graph() add nodes edges . node gets new integer ID upon creation. edge also gets ID starting 1. pipes functions make whole process readable understandable. can take away edge using delete_edge(). can add node graph , time, defining edges existing nodes graph. Viewing graph object console provide basic information graph pointers get additional information. time add node edge graph, can add node edge aesthetic data attributes. can styling properties (e.g., color, shape), grouping labels (e.g., type rel), data values useful calculations display purposes. node edge creation functions (depending whether create either edges, nodes, ) arguments node_aes, edge_aes, node_data, edge_data. Using , can call namesake helper functions (node_aes(), edge_aes(), node_data(), edge_data()) specifically target created nodes edges bind attribute data. additional benefit using helper functions (node/edge aesthetic attributes especially) RStudio can provide inline help attribute names definitions typing node_aes( edge_aes( pressing TAB key. example adding node setting color, fillcolor, fontcolor node aesthetic attributes, , adding edge color, arrowhead, tooltip edge aesthetic attributes. add_node() add_edge() calls, new node edge set value node/edge data attribute. Creating attributes setting values often useful can work attributes (e.g., mutate values even use traversals). Furthermore, can create aesthetic properties based numerical categorical data. important want display graph diagram using render_graph() function. Don’t worry attribute values weren’t set right creation associated nodes edges. ways set attribute values existing nodes edges. Functions available targeting specific nodes/edges (.e., making selection) functions used set attribute values selected nodes edges. Often, can efficient strategy can target nodes/edges based properties (e.g., degree, relationships neighbors, etc.). example select node based value attribute modify color node aesthetic attribute: explain bit, take graph object d_graph, select nodes node value attribute exactly 2.5. (now active node selection.) selected nodes, set node attribute fillcolor value orange. deactivate selection clear_selection(). Now, view graph render_graph() get : quite functions allow select nodes (e.g., select_nodes(), select_nodes_by_id(), select_last_nodes_created()) edges (e.g., select_edges(), select_edges_by_edge_id(), select_last_edges_created()). selections, can apply changes using functions end ..._ws() (selection). seen, node attributes set/replaced set_node_attrs_ws() can also mutate attributes selected nodes (mutate_node_attrs_ws()), delete selected nodes (delete_nodes_ws()), even create subgraph selection (create_subgraph_ws()). Selections nodes edges can inverted (non-selected nodes edges become active selection) invert_selection(), certain nodes/edges can removed active selection deselect_nodes()/deselect_edges(), selection can eventually cleared clear_selection(). can create graph object add graph primitives paths, cycles, trees . can add one randomly generated graphs graph object. , let’s add directed GNM graph 10 nodes 15 edges (set_seed option makes random graph reproducible). undirected version graph can made using: can view graph using render_graph(). several layouts choose well (e.g., nicely, tree, kk, fr, etc.).","code":"a_graph <- create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 1, to = 2) b_graph <- a_graph %>% delete_edge(from = 1, to = 2) c_graph <- b_graph %>% add_node(from = 1, to = 2) c_graph #> DiagrammeR Graph // 3 nodes / 2 edges #> -- directed / connected / DAG / simple #> #> NODES / type: / label: info: `get_node_df()` #> -- no additional node attributes #> EDGES / rel: info: `get_edge_df()` #> -- no additional edge attributes #> SELECTION / #> CACHE / #> GLOBAL ATTRS / 17 are set info: `get_global_graph_attr_info()` #> GRAPH ACTIONS / #> GRAPH LOG / <3 actions> -> add_edge() -> delete_edge() -> add_node() d_graph <- c_graph %>% add_node( type = \"type_a\", node_aes = node_aes( color = \"steelblue\", fillcolor = \"lightblue\", fontcolor = \"gray35\" ), node_data = node_data( value = 2.5 ) ) %>% add_edge( from = 1, to = 3, rel = \"interacted_with\", edge_aes = edge_aes( color = \"red\", arrowhead = \"vee\", tooltip = \"Red Arrow\" ), edge_data = edge_data( value = 5.2 ) ) e_graph <- d_graph %>% select_nodes(conditions = value == 2.5) %>% set_node_attrs_ws(node_attr = fillcolor, value = \"orange\") %>% clear_selection() f_graph <- create_graph() %>% add_path(n = 3) %>% add_cycle(n = 4) %>% add_balanced_tree(k = 2, h = 2) g_graph <- create_graph() %>% add_gnm_graph( n = 15, m = 20, set_seed = 23 ) h_graph <- create_graph(directed = FALSE) %>% add_gnm_graph( n = 15, m = 20, set_seed = 23 ) render_graph(h_graph, layout = \"fr\")"},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"using-data-from-tables-to-generate-a-graph","dir":"","previous_headings":"","what":"Using Data from Tables to Generate a Graph","title":"Graph/Network Visualization","text":"DiagrammeR package contains simple datasets help illustrate create graph table data. node_list_1 edge_list_1 datasets super simple node edge data frames can assembled graph. Let’s print side side see ’re working . fashion graph, need ensure nodes attributes (case, just label) added, , edges added. Furthermore, must map definitions node id (cases, may need map relationships text labels text attribute stored node data frame). can use three functions generate graph containing data: create_graph() add_nodes_from_table() add_edges_from_table() Let’s show process stepwise fashion (occasionally viewing graph’s internal ndf edf) can understand actually happening. First, create graph object create_graph(): Add nodes table add_nodes_from_table(): Inspect graph’s internal node data frame (ndf) get_node_df(): graph now 10 nodes (edges yet). node automatically assigned auto-incrementing id. incoming id also automatically renamed id_external avoid duplicate column names also retain column mapping edge definitions. Now, let’s add edges. need specify from_col edge_list_1 table indeed to_col . from_to_map argument expects node attribute column columns map . case ’s id_external. Note id also matches perfectly mapping, may cases id won’t match id_external column (e.g., existing nodes node id values incoming table provided different order, etc.). Now, connect graph nodes edges another dataset using add_edges_from_table(): Inspect graph’s internal edge data frame (edf) get_edge_df(): supplying name graph object console, can get succinct summary graph’s properties. , see graph 10 nodes 19 edges: two similar datasets included package (node_list_2 edge_list_2). contain extended attribute data. Let’s quick look column names: unique labels label column, categorical labels type rel columns, can create property graph data. Like , can incorporate two tables graph add_nodes_from_table() add_edges_from_table(). time, ’ll remove auto-generated id_external node attribute drop_node_attrs() function. Let’s view graph summary console. Note additional node attributes (value_1 value_2) present nodes edges: Now, node/edge metadata (categorical labels numerical data value_1 & value_2 nodes edges), can interesting things graph. First, let’s mutation mutate_node_attrs() mutate_edge_attrs() get sums value_1 value_2 value_3 (nodes edges). , let’s color nodes edges forestgreen value_3 greater 10 (red otherwise). Finally, let’s display values value_3 nodes rendering graph diagram. go!","code":"node_list_1 edge_list_1 id label from to 1 1 A 1 1 2 2 2 B 2 1 3 3 3 C 3 1 4 4 4 D 4 1 9 5 5 E 5 2 8 6 6 F 6 2 7 7 7 G 7 2 1 8 8 H 8 2 10 9 9 I 9 3 1 10 10 J 10 3 6 11 3 8 12 4 1 13 5 7 14 6 2 15 6 9 16 8 1 17 9 3 18 9 10 19 10 1 # Create the graph object i_graph_1 <- create_graph() # It will start off as empty i_graph_1 %>% is_graph_empty() #> [1] TRUE # Add the nodes to the graph i_graph_2 <- i_graph_1 %>% add_nodes_from_table( table = node_list_1, label_col = label ) # View the graph's internal node data frame i_graph_2 %>% get_node_df() #> id type label id_external #> 1 1 A 1 #> 2 2 B 2 #> 3 3 C 3 #> 4 4 D 4 #> 5 5 E 5 #> 6 6 F 6 #> 7 7 G 7 #> 8 8 H 8 #> 9 9 I 9 #> 10 10 J 10 # Add the edges to the graph i_graph_3 <- i_graph_2 %>% add_edges_from_table( table = edge_list_1, from_col = from, to_col = to, from_to_map = id_external ) # View the edge data frame i_graph_3 %>% get_edge_df() #> id from to rel #> 1 1 1 2 #> 2 2 1 3 #> 3 3 1 4 #> 4 4 1 9 #> 5 5 2 8 #> 6 6 2 7 #> 7 7 2 1 #> 8 8 2 10 #> 9 9 3 1 #> 10 10 3 6 #> 11 11 3 8 #> 12 12 4 1 #> 13 13 5 7 #> 14 14 6 2 #> 15 15 6 9 #> 16 16 8 1 #> 17 17 9 3 #> 18 18 9 10 #> 19 19 10 1 i_graph_3 #> DiagrammeR Graph // 10 nodes / 19 edges #> -- directed / connected / simple #> #> NODES / type: / label: 10 vals - complete & unique #> -- 1 additional node attribute (id_external) #> EDGES / rel: info: `get_edge_df()` #> -- no additional edge attributes #> SELECTION / #> CACHE / #> GLOBAL ATTRS / 17 are set info: `get_global_graph_attr_info()` #> GRAPH ACTIONS / #> GRAPH LOG / <1 action> -> add_nodes_from_table() -> add_edges_from_table() -> () colnames(node_list_2) #> [1] \"id\" \"label\" \"type\" \"value_1\" \"value_2\" colnames(edge_list_2) #> [1] \"from\" \"to\" \"rel\" \"value_1\" \"value_2\" j_graph <- create_graph() %>% add_nodes_from_table( table = node_list_2, label_col = label, type_col = type ) %>% add_edges_from_table( table = edge_list_2, from_col = from, to_col = to, from_to_map = id_external, rel_col = rel ) %>% drop_node_attrs(node_attr = id_external) j_graph #> DiagrammeR Graph // 10 nodes / 19 edges #> -- directed / connected / property graph / simple #> #> NODES / type: 2 vals - complete / label: 10 vals - complete & unique #> -- 2 additional node attributes (value_1, value_2) #> EDGES / rel: 3 vals - complete info: `get_edge_df()` #> -- 2 additional edge attributes (value_1, value_2) #> SELECTION / #> CACHE / #> GLOBAL ATTRS / 17 are set info: `get_global_graph_attr_info()` #> GRAPH ACTIONS / #> GRAPH LOG / <3 actions> -> add_edges_from_table() -> () -> drop_node_attrs() k_graph <- j_graph %>% mutate_node_attrs(value_3 = value_1 + value_2) %>% mutate_edge_attrs(value_3 = value_1 + value_2) %>% select_nodes(conditions = value_3 > 10) %>% set_node_attrs_ws(node_attr = fillcolor, value = \"forestgreen\") %>% invert_selection() %>% set_node_attrs_ws(node_attr = fillcolor, value = \"red\") %>% select_edges(conditions = value_3 > 10) %>% set_edge_attrs_ws(edge_attr = color, value = \"forestgreen\") %>% invert_selection() %>% set_edge_attrs_ws(edge_attr = color, value = \"red\") %>% clear_selection() %>% set_node_attr_to_display(attr = value_3) render_graph(k_graph)"},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"a-network-graph-example","dir":"","previous_headings":"","what":"A Network Graph Example","title":"Graph/Network Visualization","text":"Let’s create property graph pertains contributors three software projects. graph nodes representing people projects. attributes name, age, join_date, email, follower_count, following_count, starred_count specific person nodes project, start_date, stars, language attributes apply project nodes. edges represent relationships people project. example graph file repository.dgr available extdata/example_graphs_dgr/ directory DiagrammeR package (currently, GitHub version). can load memory using open_graph() function, system.file() helps provide location file within package. can always view property graph render_graph() function: Now graph set , can create queries magrittr pipelines get specific answers graph. Get average age contributors. Select nodes type person (project). node type non-NA age attribute, , get attribute vector get_node_attrs_ws() calculate mean R’s mean() function. can get total number commits projects. know edges contain numerical commits attribute, , select edges (select_edges() selects edges graph). , get numeric vector commits values get sum() (commits projects). Single one known Josh get total number commits maintainer contributor. Start selecting Josh node select_nodes(conditions = name == \"Josh\"). graph, know people edge project edge can relationship (rel) type contributor maintainer. can migrate selection nodes outbound edges trav_out_edges() (won’t provide condition, just outgoing edges Josh selected). Now selection 2 edges. Get vector commits values get_edge_attrs_ws() calculate sum(). total number commits. Get total number commits Louisa, just maintainer role though. case ’ll supply condition trav_out_edge(). acts filter traversal means selection applied edges condition met. Although single value, ’ll still use sum() get_edge_attrs_ws() (good practice may know vector length, especially big graphs). something complex, like, get names people graph age 32? First, select person nodes select_nodes(conditions = type == \"person\"). , follow another select_nodes() call specifying age > 32. Importantly, set_op = \"intersect\" (giving us intersection selections). Now starting selection nodes want, need get values nodes’ name attribute character vector. get_node_attrs_ws() function. getting vector, sort names alphabetically R function sort(). get named vector, can use unname() show us names vector component. supercalc project progressing quite nicely. Let’s get total number commits people interesting project. Start selecting project’s node work backwards. Traverse edges leading trav_in_edge(). edges committers contain commits attribute numerical values. Get vector commits get sum (1676 commits). Kim now contributor stringbuildeR project made 15 new commits project. can modify graph reflect . First, add edge add_edge(). Note add_edge() usually relies node IDs creating new edge. almost always inconvenient can instead use node labels (know unique graph) compose edge, setting use_labels = TRUE. rel value add_edge() set contributor – property graph always values set node type edge rel attributes. set another attribute edge (commits) first selecting edge (last edge made, can use select_last_edges_created()), , use set_edge_attrs_ws() provide attribute/value pair. Finally, clear active selections clear_selection(). graph now changed, look. Get email addresses contributors (maintainers) randomizer supercalc88 projects. trav_in_edge() just want contributer edges/commits. edges, hop back unconditionally people edges originate trav_out_node(). Get email values selected individuals sorted character vector. people committed one project? matter node degree. know people edges outward projects edges inward. Thus, anybody outdegree (number edges outward) greater 1 committed one project. Globally, select nodes condition using select_nodes_by_degree(\"outdeg > 1\"). getting name attribute values node selection, can provide sorted character vector names.","code":"# Load in a the small repository graph graph <- open_graph( system.file( \"extdata/example_graphs_dgr/repository.dgr\", package = \"DiagrammeR\" ) ) render_graph(graph, layout = \"kk\") graph %>% select_nodes(conditions = type == \"person\") %>% get_node_attrs_ws(node_attr = age) %>% mean() #> [1] 33.6 graph %>% select_edges() %>% get_edge_attrs_ws(edge_attr = commits) %>% sum() #> [1] 5182 graph %>% select_nodes(conditions = name == \"Josh\") %>% trav_out_edge() %>% get_edge_attrs_ws(edge_attr = commits) %>% sum() #> [1] 227 graph %>% select_nodes(conditions = name == \"Louisa\") %>% trav_out_edge(conditions = rel == \"maintainer\") %>% get_edge_attrs_ws(edge_attr = commits) %>% sum() #> [1] 236 graph %>% select_nodes(conditions = type == \"person\") %>% select_nodes(conditions = age > 32, set_op = \"intersect\") %>% get_node_attrs_ws(node_attr = name) %>% sort() %>% unname() #> [1] \"Jack\" \"Jon\" \"Kim\" \"Roger\" \"Sheryl\" graph %>% select_nodes(conditions = project == \"supercalc\") %>% trav_in_edge() %>% get_edge_attrs_ws(edge_attr = commits) %>% sum() #> [1] 1676 graph <- graph %>% add_edge( from = \"Kim\", to = \"stringbuildeR\", rel = \"contributor\" ) %>% select_last_edges_created() %>% set_edge_attrs_ws(edge_attr = commits, value = 15) %>% clear_selection() render_graph(graph, layout = \"kk\") graph %>% select_nodes( conditions = project == \"randomizer\" | project == \"supercalc\" ) %>% trav_in_edge(conditions = rel == \"contributor\") %>% trav_out_node() %>% get_node_attrs_ws(node_attr = email) %>% sort() %>% unname() #> [1] \"j_2000@ultramail.io\" \"josh_ch@megamail.kn\" #> [3] \"kim_3251323@ohhh.ai\" \"lhe99@mailing-fun.com\" #> [5] \"roger_that@whalemail.net\" \"the_simone@a-q-w-o.net\" #> [7] \"the_will@graphymail.com\" graph %>% select_nodes_by_degree(expressions = \"outdeg > 1\") %>% get_node_attrs_ws(node_attr = name) %>% sort() %>% unname() #> [1] \"Josh\" \"Kim\" \"Louisa\""},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Graph/Network Visualization","text":"DiagrammeR used R environment. don’t R installation, can obtained Comprehensive R Archive Network (CRAN). can install development version DiagrammeR GitHub using devtools package. , get CRAN. encounter bug, usage questions, want share ideas make package better, feel free file issue.","code":"devtools::install_github(\"rich-iannone/DiagrammeR\") install.packages(\"DiagrammeR\")"},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Graph/Network Visualization","text":"Please note DiagrammeR project released contributor code conduct.participating project agree abide terms.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"id_-license","dir":"","previous_headings":"","what":"📄 License","title":"Graph/Network Visualization","text":"DiagrammeR licensed MIT license. See LICENSE.md file details.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"id_️-governance","dir":"","previous_headings":"","what":"🏛️ Governance","title":"Graph/Network Visualization","text":"project primarily maintained Rich Iannone. authors may occasionally assist duties.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR-package.html","id":null,"dir":"Reference","previous_headings":"","what":"DiagrammeR: Graph/Network Visualization — DiagrammeR-package","title":"DiagrammeR: Graph/Network Visualization — DiagrammeR-package","text":"Build graph/network structures using functions stepwise addition deletion nodes edges. Work data available tables bulk addition nodes, edges, associated metadata. Use graph selections traversals apply changes specific nodes edges. wide selection graph algorithms allow analysis graphs. Visualize graphs take advantage aesthetic properties assigned nodes edges.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"DiagrammeR: Graph/Network Visualization — DiagrammeR-package","text":"Maintainer: Richard Iannone riannone@.com (ORCID) Authors: Olivier Roy olivierroy71@hotmail.com","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR.html","id":null,"dir":"Reference","previous_headings":"","what":"R + mermaid.js — DiagrammeR","title":"R + mermaid.js — DiagrammeR","text":"Make diagrams R using viz.js mermaid.js infrastructure provided htmlwidgets.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"R + mermaid.js — DiagrammeR","text":"","code":"DiagrammeR(diagram = \"\", type = \"mermaid\", ...)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"R + mermaid.js — DiagrammeR","text":"diagram diagram graphviz mermaid format, , file (connection file name) containing diagram specification. recommended filename extensions .gv .mmd Graphviz mermaid diagram specifications, respectively. diagram provided (diagram = \"\") function assume diagram provided htmltools::tags() DiagrammeR just used dependency injection. type string, either mermaid (default) grViz indicating type diagram spec desired parser/renderer. ... parameters pass grViz mermaid","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"R + mermaid.js — DiagrammeR","text":"object class htmlwidget intelligently print HTML variety contexts including R console, within R Markdown documents, within Shiny output bindings.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"R + mermaid.js — DiagrammeR","text":"","code":"if (FALSE) { # note the whitespace is not important DiagrammeR(\" graph LR A-->B A-->C C-->E B-->D C-->D D-->F E-->F \") DiagrammeR(\" graph TB A-->B A-->C C-->E B-->D C-->D D-->F E-->F \") DiagrammeR(\"graph LR;A(Rounded)-->B[Squared];B-->C{A Decision}; C-->D[Square One];C-->E[Square Two]; style A fill:#E5E25F; style B fill:#87AB51; style C fill:#3C8937; style D fill:#23772C; style E fill:#B6E6E6;\" ) # Load in the 'mtcars' dataset mtcars connections <- sapply( 1:ncol(mtcars) ,function(i) { paste0( i ,\"(\",colnames(mtcars)[i],\")---\" ,i,\"-stats(\" ,paste0( names(summary(mtcars[,i])) ,\": \" ,unname(summary(mtcars[,i])) ,collapse=\"\" ) ,\")\" ) } ) DiagrammeR( paste0( \"graph TD;\", \"\\n\", paste(connections, collapse = \"\\n\"),\"\\n\", \"classDef column fill:#0001CC, stroke:#0D3FF3, stroke-width:1px;\" ,\"\\n\", \"class \", paste0(1:length(connections), collapse = \",\"), \" column;\" ) ) # also with DiagrammeR() you can use tags from htmltools # just make sure to use class = \"mermaid\" library(htmltools) diagramSpec = \" graph LR; id1(Start)-->id2(Stop); style id1 fill:#f9f,stroke:#333,stroke-width:4px; style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5; \" html_print(tagList( tags$h1(\"R + mermaid.js = Something Special\") ,tags$pre(diagramSpec) ,tags$div(class=\"mermaid\",diagramSpec) ,DiagrammeR() )) # sequence diagrams # Using this \"How to Draw a Sequence Diagram\" # http://www.cs.uku.fi/research/publications/reports/A-2003-1/page91.pdf # draw some sequence diagrams with DiagrammeR DiagrammeR(\" sequenceDiagram; customer->>ticket seller: ask for ticket; ticket seller->>database: seats; alt tickets available database->>ticket seller: ok; ticket seller->>customer: confirm; customer->>ticket seller: ok; ticket seller->>database: book a seat; ticket seller->>printer: print ticket; else sold out database->>ticket seller: none left; ticket seller->>customer: sorry; end \") }"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeROutput.html","id":null,"dir":"Reference","previous_headings":"","what":"Widget output function for use in Shiny — DiagrammeROutput","title":"Widget output function for use in Shiny — DiagrammeROutput","text":"Widget output function use Shiny","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeROutput.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Widget output function for use in Shiny — DiagrammeROutput","text":"","code":"DiagrammeROutput(outputId, width = \"100%\", height = \"auto\")"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeROutput.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Widget output function for use in Shiny — DiagrammeROutput","text":"outputId Output variable read width valid CSS unit width number, coerced string px appended. height valid CSS unit height number, coerced string px appended.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_balanced_tree.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a balanced tree to the graph — add_balanced_tree","title":"Add a balanced tree to the graph — add_balanced_tree","text":"graph object class dgr_graph, add balanced tree graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_balanced_tree.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a balanced tree to the graph — add_balanced_tree","text":"","code":"add_balanced_tree( graph, k, h, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_balanced_tree.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a balanced tree to the graph — add_balanced_tree","text":"graph graph object class dgr_graph. k branching factor tree. h height tree. type optional string describes entity type nodes added. label Either vector object length n provides optional labels new nodes, , boolean value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label new edges created node tree. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_balanced_tree.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a balanced tree to the graph — add_balanced_tree","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_balanced_tree.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a balanced tree to the graph — add_balanced_tree","text":"","code":"# Create a new graph and # add 2 different types of # balanced trees of height # 2 (branching twice) and # different branching ratios graph <- create_graph() %>% add_balanced_tree( k = 2, h = 2, type = \"binary\") %>% add_balanced_tree( k = 3, h = 2, type = \"tertiary\") # Get some node information # from this graph graph %>% get_node_info() %>% head(5) #> id type label deg indeg outdeg loops #> 1 1 binary 1 2 0 2 0 #> 2 2 binary 2 3 1 2 0 #> 3 3 binary 3 3 1 2 0 #> 4 4 binary 4 1 1 0 0 #> 5 5 binary 5 1 1 0 0 # Node and edge aesthetic and data # attributes can be specified in # the `node_aes`, `edge_aes`, # `node_data`, and `edge_data` # arguments graph_w_attrs <- create_graph() %>% add_balanced_tree( k = 2, h = 2, label = c( \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\"), type = c( \"a\", \"b\", \"b\", \"c\", \"c\", \"c\", \"c\"), rel = \"A\", node_aes = node_aes( fillcolor = \"steelblue\"), node_data = node_data( value = c( 1.6, 2.8, 3.4, 8.3, 3.8, 5.2, 3.2)), edge_aes = edge_aes( color = \"red\", penwidth = 1.2)) # Get the first three rows of # the graph's node data frame graph_w_attrs %>% get_node_df() %>% head(3) #> id type label fillcolor value #> 1 1 a one steelblue 1.6 #> 2 2 b two steelblue 2.8 #> 3 3 b three steelblue 3.4 # Get the first three rows of # the graph's edge data frame graph_w_attrs %>% get_edge_df() %>% head(3) #> id from to rel penwidth color #> 1 1 1 2 A 1.2 red #> 2 2 1 3 A 1.2 red #> 3 3 2 4 A 1.2 red"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_cycle.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a cycle of nodes to the graph — add_cycle","title":"Add a cycle of nodes to the graph — add_cycle","text":"graph object class dgr_graph, add node cycle graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_cycle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a cycle of nodes to the graph — add_cycle","text":"","code":"add_cycle( graph, n, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_cycle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a cycle of nodes to the graph — add_cycle","text":"graph graph object class dgr_graph. n number nodes comprising cycle. type optional string describes entity type nodes added. label Either vector object length n provides optional labels new nodes, , boolean value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label new edges created node cycle. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_cycle.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a cycle of nodes to the graph — add_cycle","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_cycle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a cycle of nodes to the graph — add_cycle","text":"","code":"# Create a new graph and # add a cycle of nodes to it graph <- create_graph() %>% add_cycle(n = 6) # Get node information # from this graph graph %>% get_node_info() #> id type label deg indeg outdeg loops #> 1 1 1 2 1 1 0 #> 2 2 2 2 1 1 0 #> 3 3 3 2 1 1 0 #> 4 4 4 2 1 1 0 #> 5 5 5 2 1 1 0 #> 6 6 6 2 1 1 0 # Node and edge aesthetic and data # attributes can be specified in # the `node_aes`, `edge_aes`, # `node_data`, and `edge_data` # arguments suppressWarnings(RNGversion(\"3.5.0\")) set.seed(23) graph_w_attrs <- create_graph() %>% add_cycle( n = 3, label = c( \"one\", \"two\", \"three\"), type = c( \"a\", \"a\", \"b\"), rel = \"A\", node_aes = node_aes( fillcolor = \"steelblue\"), edge_aes = edge_aes( color = \"red\", penwidth = 1.2), node_data = node_data( value = c( 1.6, 2.8, 3.4)), edge_data = edge_data( value = rnorm( n = 3, mean = 5.0, sd = 1.0))) # Get the graph's node data frame graph_w_attrs %>% get_node_df() #> id type label fillcolor value #> 1 1 a one steelblue 1.6 #> 2 2 a two steelblue 2.8 #> 3 3 b three steelblue 3.4 # Get the graph's edge data frame graph_w_attrs %>% get_edge_df() #> id from to rel penwidth color value #> 1 1 1 2 A 1.2 red 5.996605 #> 2 2 2 3 A 1.2 red 6.107490 #> 3 3 3 1 A 1.2 red 4.721914"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge.html","id":null,"dir":"Reference","previous_headings":"","what":"Add an edge between nodes in a graph object — add_edge","title":"Add an edge between nodes in a graph object — add_edge","text":"graph object class dgr_graph, add edge nodes within graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add an edge between nodes in a graph object — add_edge","text":"","code":"add_edge(graph, from, to, rel = NULL, edge_aes = NULL, edge_data = NULL)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add an edge between nodes in a graph object — add_edge","text":"graph graph object class dgr_graph. outgoing node edge connected. option use node label value (must correspondingly also done argument) defining node connections. Note possible nodes distinct label values set none exist empty string. incoming nodes edge connected. option use node label value (must correspondingly also done argument) defining node connections. Note possible nodes distinct label values set none exist empty string. rel optional string specifying relationship connected nodes. edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add an edge between nodes in a graph object — add_edge","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add an edge between nodes in a graph object — add_edge","text":"","code":"# Create a graph with 4 nodes graph <- create_graph() %>% add_node(label = \"one\") %>% add_node(label = \"two\") %>% add_node(label = \"three\") %>% add_node(label = \"four\") # Add an edge between those # nodes and attach a # relationship to the edge graph <- add_edge( graph, from = 1, to = 2, rel = \"A\") # Use the `get_edge_info()` # function to verify that # the edge has been created graph %>% get_edge_info() #> id from to rel #> 1 1 1 2 A # Add another node and # edge to the graph graph <- graph %>% add_edge( from = 3, to = 2, rel = \"A\") # Verify that the edge # has been created by # counting graph edges graph %>% count_edges() #> [1] 2 # Add edges by specifying # node `label` values; note # that all nodes must have # unique `label` values to # use this option graph <- graph %>% add_edge( from = \"three\", to = \"four\", rel = \"L\") %>% add_edge( from = \"four\", to = \"one\", rel = \"L\") # Use `get_edges()` to verify # that the edges were added graph %>% get_edges() #> [1] \"1->2\" \"3->2\" \"3->4\" \"4->1\" # Add edge aesthetic and data # attributes during edge creation graph_2 <- create_graph() %>% add_n_nodes(n = 2) %>% add_edge( from = 1, to = 2, rel = \"M\", edge_aes = edge_aes( penwidth = 1.5, color = \"blue\"), edge_data = edge_data( value = 4.3)) # Use the `get_edges()` function # to verify that the attribute # values were bound to the # newly created edge graph_2 %>% get_edge_df() #> id from to rel penwidth color value #> 1 1 1 2 M 1.5 blue 4.3"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_clone.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a clone of an existing edge to the graph — add_edge_clone","title":"Add a clone of an existing edge to the graph — add_edge_clone","text":"Add new edge graph object class dgr_graph clone edge already graph. edge attributes preserved.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_clone.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a clone of an existing edge to the graph — add_edge_clone","text":"","code":"add_edge_clone(graph, edge, from, to)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_clone.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a clone of an existing edge to the graph — add_edge_clone","text":"graph graph object class dgr_graph. edge edge ID corresponding graph edge cloned. outgoing node edge connected. incoming nodes edge connected.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_clone.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a clone of an existing edge to the graph — add_edge_clone","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_clone.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a clone of an existing edge to the graph — add_edge_clone","text":"","code":"# Create a graph with a path of # 2 nodes; supply a common `rel` # edge attribute for all edges # in this path and then add a # `color` edge attribute graph <- create_graph() %>% add_path( n = 2, rel = \"a\") %>% select_last_edges_created() %>% set_edge_attrs( edge_attr = color, values = \"steelblue\") %>% clear_selection() # Display the graph's internal # edge data frame graph %>% get_edge_df() #> id from to rel color #> 1 1 1 2 a steelblue # Create a new node (will have # node ID of `3`) and then # create an edge between it and # node `1` while reusing the edge # attributes of edge `1` -> `2` # (edge ID `1`) graph_2 <- graph %>% add_node() %>% add_edge_clone( edge = 1, from = 3, to = 1) # Display the graph's internal # edge data frame graph_2 %>% get_edge_df() #> id from to rel color #> 1 1 1 2 a steelblue #> 2 2 3 1 a steelblue # The same change can be performed # with some helper functions in the # `add_edge_clone()` function call graph_3 <- graph %>% add_node() %>% add_edge_clone( edge = get_last_edges_created(.), from = get_last_nodes_created(.), to = 1) # Display the graph's internal # edge data frame graph_3 %>% get_edge_df() #> id from to rel color #> 1 1 1 2 a steelblue #> 2 2 3 1 a steelblue"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_df.html","id":null,"dir":"Reference","previous_headings":"","what":"Add edges from an edge data frame to an existing graph object — add_edge_df","title":"Add edges from an edge data frame to an existing graph object — add_edge_df","text":"graph object class dgr_graph, add edges edge data frame graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_df.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add edges from an edge data frame to an existing graph object — add_edge_df","text":"","code":"add_edge_df(graph, edge_df)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_df.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add edges from an edge data frame to an existing graph object — add_edge_df","text":"graph graph object class dgr_graph. edge_df edge data frame created using create_edge_df().","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_df.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add edges from an edge data frame to an existing graph object — add_edge_df","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_df.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add edges from an edge data frame to an existing graph object — add_edge_df","text":"","code":"# Create a graph with 4 nodes # and no edges graph <- create_graph() %>% add_n_nodes(n = 4) # Create an edge data frame (edf) edf <- create_edge_df( from = c(1, 2, 3), to = c(4, 3, 1)) # Add the edge data frame to # the graph object to create # a graph with both nodes # and edges graph <- graph %>% add_edge_df( edge_df = edf) # Get the graph's edges to # verify that the edf had # been added graph %>% get_edges( return_type = \"vector\") #> [1] \"1->4\" \"2->3\" \"3->1\""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_from_table.html","id":null,"dir":"Reference","previous_headings":"","what":"Add edges and attributes to graph from a table — add_edges_from_table","title":"Add edges and attributes to graph from a table — add_edges_from_table","text":"Add edges attributes existing graph object data CSV file data frame.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_from_table.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add edges and attributes to graph from a table — add_edges_from_table","text":"","code":"add_edges_from_table( graph, table, from_col, to_col, from_to_map, rel_col = NULL, set_rel = NULL, drop_cols = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_from_table.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add edges and attributes to graph from a table — add_edges_from_table","text":"graph graph object class dgr_graph. table Either path CSV file, , data frame object. from_col name table column edges originate. to_col name table column edges terminate. from_to_map single character value mapping columns external table (supplied from_col to_col, respectively) column graph's internal node data frame (ndf). rel_col option apply column data table rel attribute values. set_rel optional string apply rel attribute edges created table records. drop_cols optional column selection statement dropping columns external table inclusion attributes graph's internal edge data frame. Several columns can dropped name using syntax col_1 & col_2 & .... Columns can also dropped using numeric column range : (e.g., 5:8), , using : column names specify range (e.g., col_5_name:col_8_name).","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_from_table.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add edges and attributes to graph from a table — add_edges_from_table","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_from_table.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add edges and attributes to graph from a table — add_edges_from_table","text":"","code":"# Create an empty graph and then # add nodes to it from the # `currencies` dataset available # in the package graph <- create_graph() %>% add_nodes_from_table( table = currencies) # Now we want to add edges to the # graph using an included dataset, # `usd_exchange_rates`, which has # exchange rates between USD and # many other currencies; the key # here is that the data in the # `from` and `to` columns in the # external table maps to graph # node data available in the # `iso_4217_code` column of the # graph's internal node data frame graph_1 <- graph %>% add_edges_from_table( table = usd_exchange_rates, from_col = from_currency, to_col = to_currency, from_to_map = iso_4217_code) # View part of the graph's # internal edge data frame graph_1 %>% get_edge_df() %>% head() #> id from to rel cost_unit #> 1 1 148 1 0.272300 #> 2 2 148 2 0.015210 #> 3 3 148 3 0.008055 #> 4 4 148 4 0.002107 #> 5 5 148 5 0.565000 #> 6 6 148 6 0.006058 # If you would like to assign # any of the table's columns as the # `rel` attribute, this can done # with the `rel_col` argument; to # set a static `rel` attribute for # all edges created, use `set_rel` graph_2 <- graph %>% add_edges_from_table( table = usd_exchange_rates, from_col = from_currency, to_col = to_currency, from_to_map = iso_4217_code, set_rel = \"from_usd\") # View part of the graph's internal # edge data frame (edf) graph_2 %>% get_edge_df() %>% head() #> id from to rel cost_unit #> 1 1 148 1 from_usd 0.272300 #> 2 2 148 2 from_usd 0.015210 #> 3 3 148 3 from_usd 0.008055 #> 4 4 148 4 from_usd 0.002107 #> 5 5 148 5 from_usd 0.565000 #> 6 6 148 6 from_usd 0.006058"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_w_string.html","id":null,"dir":"Reference","previous_headings":"","what":"Add one or more edges using a text string — add_edges_w_string","title":"Add one or more edges using a text string — add_edges_w_string","text":"graph object class dgr_graph, add one edges graph using text string.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_w_string.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add one or more edges using a text string — add_edges_w_string","text":"","code":"add_edges_w_string(graph, edges, rel = NULL, use_labels = FALSE)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_w_string.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add one or more edges using a text string — add_edges_w_string","text":"graph graph object class dgr_graph. edges single-length vector character string specifying edges. directed graph, string object formatted series node ID values [node_ID_1]->[node_ID_2] separated one space characters. undirected graphs, -- replace ->. Line breaks vector cause error. rel optional vector specifying relationship connected nodes. use_labels option use node label values edges string define node connections. Note possible nodes distinct label values set none exist empty string.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_w_string.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add one or more edges using a text string — add_edges_w_string","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_w_string.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add one or more edges using a text string — add_edges_w_string","text":"","code":"# Create a graph with 4 nodes graph <- create_graph() %>% add_node(label = \"one\") %>% add_node(label = \"two\") %>% add_node(label = \"three\") %>% add_node(label = \"four\") # Add edges between nodes using # a character string with node # ID values graph_node_id <- graph %>% add_edges_w_string( edges = \"1->2 1->3 2->4 2->3\") # Show the graph's internal # edge data frame graph_node_id %>% get_edge_df() #> id from to rel #> 1 1 1 2 #> 2 2 1 3 #> 3 3 2 4 #> 4 4 2 3 # Add edges between nodes using # a character string with node # label values and setting # `use_labels = TRUE`; note that # all nodes must have unique # `label` values to use this graph_node_label <- graph %>% add_edges_w_string( edges = \"one->two one->three two->four two->three\", use_labels = TRUE) # Show the graph's internal # edge data frame (it's the # same as before) graph_node_label %>% get_edge_df() #> id from to rel #> 1 1 1 2 #> 2 2 1 3 #> 3 3 2 4 #> 4 4 2 3 "},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_forward_edges_ws.html","id":null,"dir":"Reference","previous_headings":"","what":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","title":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","text":"Add edges direction one edges available edge selection graph object class dgr_graph. New graph edges edge definitions selection except new edge ID values. also option assign common rel grouping newly created edges. Upon addition edges, edge selection retained selection traversal operations. function makes use active selection edges (function ending _ws hints ). Selections edges can performed using following selection (select_*()) functions: select_edges(), select_last_edges_created(), select_edges_by_edge_id(), select_edges_by_node_id(). Selections edges can also performed using following traversal (trav_*()) functions: trav_out_edge(), trav_in_edge(), trav_both_edge(), trav_reverse_edge().","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_forward_edges_ws.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","text":"","code":"add_forward_edges_ws(graph, rel = NULL)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_forward_edges_ws.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","text":"graph graph object class dgr_graph. rel optional string apply rel attribute newly created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_forward_edges_ws.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_forward_edges_ws.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","text":"","code":"# Create an empty graph, add 2 nodes # to it, and create the edge `1->2` graph <- create_graph() %>% add_n_nodes( n = 2, type = \"type_a\", label = c(\"a_1\", \"a_2\")) %>% add_edge( from = 1, to = 2, rel = \"a\") # Get the graph's edges graph %>% get_edge_ids() #> [1] 1 # Select the edge and create 2 # additional edges with the same # definition (`1->2`) but with # different `rel` values (`b` and `c`) graph <- graph %>% select_edges() %>% add_forward_edges_ws(rel = \"b\") %>% add_forward_edges_ws(rel = \"c\") %>% clear_selection() # Get the graph's edge data frame graph %>% get_edge_df() #> id from to rel #> 1 1 1 2 a #> 2 2 1 2 b #> 3 3 1 2 c"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_full_graph.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a fully connected graph — add_full_graph","title":"Add a fully connected graph — add_full_graph","text":"graph object class dgr_graph, add fully connected graph either without loops. graph object set directed, added graph edges pair nodes. undirected case, single edge link pair nodes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_full_graph.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a fully connected graph — add_full_graph","text":"","code":"add_full_graph( graph, n, type = NULL, label = TRUE, rel = NULL, edge_wt_matrix = NULL, keep_loops = FALSE, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_full_graph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a fully connected graph — add_full_graph","text":"graph graph object class dgr_graph. n number nodes comprising fully connected graph. type optional string describes entity type nodes added. label Either vector object length n provides optional labels new nodes, , boolean value setting TRUE ascribes node IDs label FALSE NULL yields blank label. rel optional string providing relationship label new edges created connected graph. edge_wt_matrix optional matrix n n dimensions containing values apply edge weights. matrix row names column names label = TRUE, row column names used node label values. keep_loops option simplify fully connected graph removing loops (edges node). default value FALSE. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_full_graph.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a fully connected graph — add_full_graph","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_full_graph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a fully connected graph — add_full_graph","text":"","code":"# Create a new graph object # and add a directed and fully # connected graph with 3 nodes # and edges to and from all # pairs of nodes; with the option # `keep_loops = TRUE` nodes # will also have edges from # and to themselves graph <- create_graph() %>% add_full_graph( n = 3, keep_loops = TRUE ) # Get node information # from this graph graph %>% get_node_info() #> id type label deg indeg outdeg loops #> 1 1 1 6 3 3 1 #> 2 2 2 6 3 3 1 #> 3 3 3 6 3 3 1 # Using `keep_loops = FALSE` # (the default) will remove # the loops create_graph() %>% add_full_graph(n = 3) %>% get_node_info() #> id type label deg indeg outdeg loops #> 1 1 1 4 2 2 0 #> 2 2 2 4 2 2 0 #> 3 3 3 4 2 2 0 # Values can be set for # the node `label`, node # `type`, and edge `rel` graph <- create_graph() %>% add_full_graph( n = 3, type = \"connected\", label = c(\"1st\", \"2nd\", \"3rd\"), rel = \"connected_to\" ) # Show the graph's node # data frame (ndf) graph %>% get_node_df() #> id type label #> 1 1 connected 1st #> 2 2 connected 2nd #> 3 3 connected 3rd # Show the graph's edge # data frame (edf) graph %>% get_edge_df() #> id from to rel #> 1 1 1 2 connected_to #> 2 2 1 3 connected_to #> 3 3 2 1 connected_to #> 4 4 2 3 connected_to #> 5 5 3 1 connected_to #> 6 6 3 2 connected_to # Create a fully-connected and # directed graph with 3 nodes, # and, where a matrix provides # edge weights; first, create the # matrix (with row names to be # used as node labels) suppressWarnings(RNGversion(\"3.5.0\")) set.seed(23) edge_wt_matrix <- rnorm(100, 5, 2) %>% sample(9, FALSE) %>% round(2) %>% matrix( ncol = 3, nrow = 3, dimnames = list(c(\"a\", \"b\", \"c\")) ) # Create the fully-connected # graph (without loops however) graph <- create_graph() %>% add_full_graph( n = 3, type = \"weighted\", label = TRUE, rel = \"related_to\", edge_wt_matrix = edge_wt_matrix, keep_loops = FALSE ) # Show the graph's node # data frame (ndf) graph %>% get_node_df() #> id type label #> 1 1 weighted a #> 2 2 weighted b #> 3 3 weighted c # Show the graph's edge # data frame (edf) graph %>% get_edge_df() #> id from to rel weight #> 1 1 1 2 related_to 3.30 #> 2 2 1 3 related_to 5.02 #> 3 3 2 1 related_to 4.13 #> 4 4 2 3 related_to 6.49 #> 5 5 3 1 related_to 6.03 #> 6 6 3 2 related_to 5.55 # An undirected graph can # also use a matrix with # edge weights, but only # the lower triangle of # that matrix will be used create_graph(directed = FALSE) %>% add_full_graph( n = 3, type = \"weighted\", label = TRUE, rel = \"related_to\", edge_wt_matrix = edge_wt_matrix, keep_loops = FALSE ) %>% get_edge_df() #> id from to rel weight #> 1 1 1 2 related_to 3.30 #> 2 2 1 3 related_to 5.02 #> 3 3 2 3 related_to 6.49"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_global_graph_attrs.html","id":null,"dir":"Reference","previous_headings":"","what":"Add one or more global graph attributes — add_global_graph_attrs","title":"Add one or more global graph attributes — add_global_graph_attrs","text":"Add global attributes specific type (either graph_attrs, node_attrs, edge_attrs graph object class dgr_graph).","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_global_graph_attrs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add one or more global graph attributes — add_global_graph_attrs","text":"","code":"add_global_graph_attrs(graph, attr, value, attr_type)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_global_graph_attrs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add one or more global graph attributes — add_global_graph_attrs","text":"graph graph object class dgr_graph. attr name attribute set type global attribute specified. value value set chosen attribute specified attr_for_type argument. attr_type specific type global graph attribute set. type specified graph, node, edge.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_global_graph_attrs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add one or more global graph attributes — add_global_graph_attrs","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_global_graph_attrs.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add one or more global graph attributes — add_global_graph_attrs","text":"","code":"# Create a new graph with no # global graph attributes and # add a global graph attribute graph <- create_graph( attr_theme = NULL) %>% add_global_graph_attrs( attr = \"overlap\", value = \"true\", attr_type = \"graph\") # Verify that the attribute # addition has been made graph %>% get_global_graph_attr_info() #> # A tibble: 1 × 3 #> attr value attr_type #> #> 1 overlap true graph # Add another attribute with # `add_global_graph_attrs()` graph <- graph %>% add_global_graph_attrs( attr = \"penwidth\", value = 12, attr_type = \"node\") # Verify that the attribute # addition has been made graph %>% get_global_graph_attr_info() #> # A tibble: 2 × 3 #> attr value attr_type #> #> 1 overlap true graph #> 2 penwidth 12 node # When adding an attribute where # `attr` and `attr_type` already # exists, the value provided will # serve as an update graph %>% add_global_graph_attrs( attr = \"penwidth\", value = 15, attr_type = \"node\") %>% get_global_graph_attr_info() #> # A tibble: 2 × 3 #> attr value attr_type #> #> 1 overlap true graph #> 2 penwidth 15 node"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnm_graph.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","title":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","text":"existing graph object, add graph built according Erdos-Renyi G(n, m) model. uses constant probability creating fixed number edges. Thus n nodes m edges , loops argument set TRUE, random loop edges part m.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnm_graph.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","text":"","code":"add_gnm_graph( graph, n, m, loops = FALSE, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL, set_seed = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnm_graph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","text":"graph graph object class dgr_graph. n number nodes comprising generated graph. m number edges generated graph. loops logical value (default FALSE) governs whether loops allowed created. type optional string describes entity type nodes added. label boolean value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label edges added. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges. set_seed Supplying value sets random seed Mersenne-Twister implementation.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnm_graph.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnm_graph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","text":"","code":"# Create an undirected GNM # graph with 100 nodes and # 120 edges gnm_graph <- create_graph( directed = FALSE) %>% add_gnm_graph( n = 100, m = 120) # Get a count of nodes gnm_graph %>% count_nodes() #> [1] 100 # Get a count of edges gnm_graph %>% count_edges() #> [1] 120"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnp_graph.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","title":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","text":"existing graph object, add graph built according Erdos-Renyi G(n, p) model, uses constant probability creating edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnp_graph.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","text":"","code":"add_gnp_graph( graph, n, p, loops = FALSE, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL, set_seed = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnp_graph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","text":"graph graph object class dgr_graph. n number nodes comprising generated graph. p probability creating edge two arbitrary nodes. loops logical value (default FALSE) governs whether loops allowed created. type optional string describes entity type nodes added. label boolean value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label edges added. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges. set_seed Supplying value sets random seed Mersenne-Twister implementation.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnp_graph.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnp_graph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","text":"","code":"# Create an undirected GNP # graph with 100 nodes using # a probability value of 0.05 gnp_graph <- create_graph( directed = FALSE) %>% add_gnp_graph( n = 100, p = 0.05) # Get a count of nodes gnp_graph %>% count_nodes() #> [1] 100 # Get a count of edges gnp_graph %>% count_edges() #> [1] 212"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_action.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a graph action for execution at every transform — add_graph_action","title":"Add a graph action for execution at every transform — add_graph_action","text":"Add graph function along arguments run every graph transformation step.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_action.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a graph action for execution at every transform — add_graph_action","text":"","code":"add_graph_action(graph, fcn, ..., action_name = NULL)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_action.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a graph action for execution at every transform — add_graph_action","text":"graph graph object class dgr_graph. fcn name function use. ... Arguments values pass named function fcn, necessary. action_name optional name labeling action.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_action.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a graph action for execution at every transform — add_graph_action","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_action.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a graph action for execution at every transform — add_graph_action","text":"","code":"# Create a random graph using the # `add_gnm_graph()` function graph <- create_graph() %>% add_gnm_graph( n = 10, m = 22, set_seed = 23) # Add a graph action that sets a node # attr column with a function; the # main function `set_node_attr_w_fcn()` # uses the `get_betweenness()` function # to provide betweenness values in the # `btwns` column; this action will # occur whenever there is a function # called on the graph that modifies it # (e.g., `add_n_nodes()`) graph <- graph %>% add_graph_action( fcn = \"set_node_attr_w_fcn\", node_attr_fcn = \"get_betweenness\", column_name = \"btwns\", action_name = \"get_btwns\") # To ensure that the action is # available in the graph, use the # `get_graph_actions()` function graph %>% get_graph_actions() #> # A tibble: 1 × 3 #> action_index action_name expression #> #> 1 1 get_btwns set_node_attr_w_fcn(graph = graph, node_attr_fcn = '…"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_to_graph_series.html","id":null,"dir":"Reference","previous_headings":"","what":"Add graph object to a graph series object — add_graph_to_graph_series","title":"Add graph object to a graph series object — add_graph_to_graph_series","text":"Add graph object extant graph series object storage multiple graphs across sequential temporal one-dimensional array.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_to_graph_series.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add graph object to a graph series object — add_graph_to_graph_series","text":"","code":"add_graph_to_graph_series(graph_series, graph)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_to_graph_series.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add graph object to a graph series object — add_graph_to_graph_series","text":"graph_series graph series object graph object added. graph graph object add graph series object.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_to_graph_series.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add graph object to a graph series object — add_graph_to_graph_series","text":"graph series object type dgr_graph_1D.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_to_graph_series.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add graph object to a graph series object — add_graph_to_graph_series","text":"","code":"# Create three graphs graph_1 <- create_graph() %>% add_path(n = 4) graph_2 <- create_graph() %>% add_cycle(n = 5) graph_3 <- create_graph() %>% add_star(n = 6) # Create an empty graph series # and add the graphs series <- create_graph_series() %>% add_graph_to_graph_series( graph = graph_1) %>% add_graph_to_graph_series( graph = graph_2) %>% add_graph_to_graph_series( graph = graph_3) # Count the number of graphs # in the graph series series %>% count_graphs_in_graph_series() #> [1] 3"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_2d.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a 2D grid of nodes to the graph — add_grid_2d","title":"Add a 2D grid of nodes to the graph — add_grid_2d","text":"graph object class dgr_graph, add two-dimensional grid graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_2d.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a 2D grid of nodes to the graph — add_grid_2d","text":"","code":"add_grid_2d( graph, x, y, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_2d.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a 2D grid of nodes to the graph — add_grid_2d","text":"graph graph object class dgr_graph. x number nodes x direction. y number nodes y direction. type optional string describes entity type nodes added. label Either vector object length x * y provides optional labels new nodes, , logical value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label new edges created grid. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_2d.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a 2D grid of nodes to the graph — add_grid_2d","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_2d.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a 2D grid of nodes to the graph — add_grid_2d","text":"","code":"# Create a new graph and add # a 3 x 3 grid graph <- create_graph() %>% add_grid_2d( x = 3, y = 3, type = \"grid\") # Get node information # from this graph graph %>% get_node_info() #> id type label deg indeg outdeg loops #> 1 1 grid 1 2 0 2 0 #> 2 2 grid 2 3 1 2 0 #> 3 3 grid 3 2 1 1 0 #> 4 4 grid 4 3 1 2 0 #> 5 5 grid 5 4 2 2 0 #> 6 6 grid 6 3 2 1 0 #> 7 7 grid 7 2 1 1 0 #> 8 8 grid 8 3 2 1 0 #> 9 9 grid 9 2 2 0 0 # Attributes can be specified # in extra arguments and these # are applied in order; Usually # these attributes are applied # to nodes (e.g., `type` is a # node attribute) but the `rel` # attribute will apply to the # edges graph_w_attrs <- create_graph() %>% add_grid_2d( x = 3, y = 2, label = c(\"one\", \"two\", \"three\", \"four\", \"five\", \"six\"), type = c(\"a\", \"a\", \"b\", \"b\", \"c\", \"c\"), rel = \"grid\", node_data = node_data( value = c( 1.2, 8.4, 3.4, 5.2, 6.1, 2.6))) # Get the graph's node data frame graph_w_attrs %>% get_node_df() #> id type label value #> 1 1 a one 1.2 #> 2 2 a two 8.4 #> 3 3 b three 3.4 #> 4 4 b four 5.2 #> 5 5 c five 6.1 #> 6 6 c six 2.6 # Get the graph's edge data frame graph_w_attrs %>% get_edge_df() #> id from to rel #> 1 1 1 2 grid #> 2 2 1 4 grid #> 3 3 2 3 grid #> 4 4 2 5 grid #> 5 5 3 6 grid #> 6 6 4 5 grid #> 7 7 5 6 grid"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_3d.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a 3D grid of nodes to the graph — add_grid_3d","title":"Add a 3D grid of nodes to the graph — add_grid_3d","text":"graph object class dgr_graph, add three-dimensional grid graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_3d.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a 3D grid of nodes to the graph — add_grid_3d","text":"","code":"add_grid_3d( graph, x, y, z, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_3d.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a 3D grid of nodes to the graph — add_grid_3d","text":"graph graph object class dgr_graph. x number nodes x direction. y number nodes y direction. z number nodes z direction. type optional string describes entity type nodes added. label Either vector object length x * y * z provides optional labels new nodes, , logical value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label new edges created grid. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_3d.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a 3D grid of nodes to the graph — add_grid_3d","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_3d.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a 3D grid of nodes to the graph — add_grid_3d","text":"","code":"# Create a new graph and add # a 2 x 2 x 2 grid graph <- create_graph() %>% add_grid_3d( x = 2, y = 2, z = 2, type = \"grid\") # Get node information # from this graph graph %>% get_node_info() #> id type label deg indeg outdeg loops #> 1 1 grid 1 3 0 3 0 #> 2 2 grid 2 3 1 2 0 #> 3 3 grid 3 3 1 2 0 #> 4 4 grid 4 3 2 1 0 #> 5 5 grid 5 3 1 2 0 #> 6 6 grid 6 3 2 1 0 #> 7 7 grid 7 3 2 1 0 #> 8 8 grid 8 3 3 0 0 # Attributes can be specified # in extra arguments and these # are applied in order; Usually # these attributes are applied # to nodes (e.g., `type` is a # node attribute) but the `rel` # attribute will apply to the # edges graph_w_attrs <- create_graph() %>% add_grid_3d( x = 2, y = 2, z = 2, label = c( \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\"), type = c( \"a\", \"a\", \"b\", \"b\", \"c\", \"c\", \"d\", \"d\"), rel = \"grid\", node_data = node_data( value = c( 1.2, 8.4, 3.4, 5.2, 6.1, 2.6, 6.3, 9.3))) # Get the graph's node data frame graph_w_attrs %>% get_node_df() #> id type label value #> 1 1 a one 1.2 #> 2 2 a two 8.4 #> 3 3 b three 3.4 #> 4 4 b four 5.2 #> 5 5 c five 6.1 #> 6 6 c six 2.6 #> 7 7 d seven 6.3 #> 8 8 d eight 9.3 # Get the graph's edge data frame graph_w_attrs %>% get_edge_df() #> id from to rel #> 1 1 1 2 grid #> 2 2 1 3 grid #> 3 3 1 5 grid #> 4 4 2 4 grid #> 5 5 2 6 grid #> 6 6 3 4 grid #> 7 7 3 7 grid #> 8 8 4 8 grid #> 9 9 5 6 grid #> 10 10 5 7 grid #> 11 11 6 8 grid #> 12 12 7 8 grid"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_growing_graph.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a random growing graph with m edges added per step — add_growing_graph","title":"Create a random growing graph with m edges added per step — add_growing_graph","text":"existing graph object, add graph built adding m new edges time step (node added).","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_growing_graph.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a random growing graph with m edges added per step — add_growing_graph","text":"","code":"add_growing_graph( graph, n, m = 1, citation = FALSE, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL, set_seed = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_growing_graph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a random growing graph with m edges added per step — add_growing_graph","text":"graph graph object class dgr_graph. n number nodes comprising generated graph. m number edges added per time step. citation logical value (default FALSE) governs whether citation graph created. new edges specifically originate newly added node recent time step. type optional string describes entity type nodes added. label logical value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label edges added. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges. set_seed Supplying value sets random seed Mersenne-Twister implementation.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_growing_graph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a random growing graph with m edges added per step — add_growing_graph","text":"","code":"# Create a random, growing # citation graph with 100 # nodes, adding an edge after # each node addition growing_graph <- create_graph() %>% add_growing_graph( n = 100, m = 1, citation = TRUE, set_seed = 23) # Get a count of nodes growing_graph %>% count_nodes() #> [1] 100 # Get a count of edges growing_graph %>% count_edges() #> [1] 99"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_islands_graph.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a random islands graph with edges between the islands — add_islands_graph","title":"Create a random islands graph with edges between the islands — add_islands_graph","text":"existing graph object, add several Erdos-Renyi random graphs (islands) using common set parameters, connected together fixed number edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_islands_graph.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a random islands graph with edges between the islands — add_islands_graph","text":"","code":"add_islands_graph( graph, n_islands, island_size, p, edges_between, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL, set_seed = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_islands_graph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a random islands graph with edges between the islands — add_islands_graph","text":"graph graph object class dgr_graph. n_islands number islands generated graph. island_size size islands generated graph. p probability edges islands. edges_between number edges islands. type optional string describes entity type nodes added. label logical value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label edges added. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges. set_seed Supplying value sets random seed Mersenne-Twister implementation.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_islands_graph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a random islands graph with edges between the islands — add_islands_graph","text":"","code":"# Create a graph of islands islands_graph <- create_graph() %>% add_islands_graph( n_islands = 4, island_size = 10, p = 0.5, edges_between = 1, set_seed = 23) # Get a count of nodes islands_graph %>% count_nodes() #> [1] 40 # Get a count of edges islands_graph %>% count_edges() #> [1] 107"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_mathjax.html","id":null,"dir":"Reference","previous_headings":"","what":"Add MathJax-formatted equation text — add_mathjax","title":"Add MathJax-formatted equation text — add_mathjax","text":"Add MathJax-formatted equation text","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_mathjax.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add MathJax-formatted equation text — add_mathjax","text":"","code":"add_mathjax(gv = NULL, include_mathjax = TRUE)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_mathjax.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add MathJax-formatted equation text — add_mathjax","text":"gv grViz htmlwidget. include_mathjax logical add mathjax JS. Change FALSE using rmarkdown since MathJax likely already added.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_mathjax.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add MathJax-formatted equation text — add_mathjax","text":"grViz htmlwidget","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_node_clones.html","id":null,"dir":"Reference","previous_headings":"","what":"Add one or several clones of an existing node to the graph — add_n_node_clones","title":"Add one or several clones of an existing node to the graph — add_n_node_clones","text":"Add n new nodes graph object class dgr_graph clones node already graph. node attributes preserved except node label attribute (maintain uniqueness non-NA node label values). vector node label can provided bind new labels cloned nodes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_node_clones.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add one or several clones of an existing node to the graph — add_n_node_clones","text":"","code":"add_n_node_clones(graph, n, node, label = NULL)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_node_clones.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add one or several clones of an existing node to the graph — add_n_node_clones","text":"graph graph object class dgr_graph. n number node clones add graph. node node ID corresponding graph node cloned. label optional vector node label values. vector length correspond value set n.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_node_clones.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add one or several clones of an existing node to the graph — add_n_node_clones","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_node_clones.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add one or several clones of an existing node to the graph — add_n_node_clones","text":"","code":"# Create a graph with a path of # nodes; supply `label`, `type`, # and `value` node attributes graph <- create_graph() %>% add_path( n = 3, label = c(\"d\", \"g\", \"r\"), type = c(\"a\", \"b\", \"c\")) # Display the graph's internal # node data frame graph %>% get_node_df() #> id type label #> 1 1 a d #> 2 2 b g #> 3 3 c r # Create 3 clones of node `1` # but assign new node label # values (leaving `label` as # NULL yields NA values) graph <- graph %>% add_n_node_clones( n = 3, node = 1, label = c(\"x\", \"y\", \"z\")) # Display the graph's internal # node data frame: nodes `4`, # `5`, and `6` are clones of `1` graph %>% get_node_df() #> id type label #> 1 1 a d #> 2 2 b g #> 3 3 c r #> 4 4 a x #> 5 5 a y #> 6 6 a z"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes.html","id":null,"dir":"Reference","previous_headings":"","what":"Add one or several unconnected nodes to the graph — add_n_nodes","title":"Add one or several unconnected nodes to the graph — add_n_nodes","text":"Add n new nodes graph object class dgr_graph. Optionally, set node type values new nodes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add one or several unconnected nodes to the graph — add_n_nodes","text":"","code":"add_n_nodes( graph, n, type = NULL, label = NULL, node_aes = NULL, node_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add one or several unconnected nodes to the graph — add_n_nodes","text":"graph graph object class dgr_graph. n number new nodes add graph. type optional character vector provides group identifiers nodes added. label optional character object describes nodes added. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add one or several unconnected nodes to the graph — add_n_nodes","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add one or several unconnected nodes to the graph — add_n_nodes","text":"","code":"# Create an empty graph and # add 5 nodes; these nodes # will be assigned ID values # from `1` to `5` graph <- create_graph() %>% add_n_nodes(n = 5) # Get the graph's node IDs graph %>% get_node_ids() #> [1] 1 2 3 4 5"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes_ws.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","title":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","text":"Add n new nodes one nodes available selection graph object class dgr_graph. New graph edges move either nodes selection toward newly created nodes (option direction = \"\"), selected nodes already graph (using direction = \"\"). Optionally, set node type edge rel values new nodes edges created, respectively. function makes use active selection nodes (function ending _ws hints ). Selections nodes can performed using following node selection (select_*()) functions: select_nodes(), select_last_nodes_created(), select_nodes_by_degree(), select_nodes_by_id(), select_nodes_in_neighborhood(). Selections nodes can also performed using following traversal (trav_*()) functions: trav_out(), trav_in(), trav_both(), trav_out_node(), trav_in_node(), trav_out_until(), trav_in_until().","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes_ws.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","text":"","code":"add_n_nodes_ws( graph, n, direction = NULL, type = NULL, label = NULL, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes_ws.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","text":"graph graph object class dgr_graph. n number new nodes attach successor nodes nodes selection. direction Using create new edges existing nodes new nodes. option create new edges directed toward existing nodes. type optional character vector provides group identifiers nodes added. label optional character object describes nodes added. rel optional string apply rel attribute newly created edges. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes_ws.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes_ws.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","text":"","code":"# Create an empty graph, add a node to it, select # that node, and then add 5 more nodes to the graph # with edges from the original node to all of the # new nodes graph <- create_graph() %>% add_n_nodes(n = 1) %>% select_last_nodes_created() %>% add_n_nodes_ws( n = 5, direction = \"from\") # Get the graph's nodes graph %>% get_node_ids() #> [1] 1 2 3 4 5 6 # Get the graph's edges graph %>% get_edges() #> [1] \"1->2\" \"1->3\" \"1->4\" \"1->5\" \"1->6\" # Create an empty graph, add a node to it, select # that node, and then add 5 more nodes to the graph # with edges toward the original node from all of # the new nodes graph <- create_graph() %>% add_n_nodes(n = 1) %>% select_last_nodes_created() %>% add_n_nodes_ws( n = 5, direction = \"to\") # Get the graph's nodes graph %>% get_node_ids() #> [1] 1 2 3 4 5 6 # Get the graph's edges graph %>% get_edges() #> [1] \"2->1\" \"3->1\" \"4->1\" \"5->1\" \"6->1\""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a node to an existing graph object — add_node","title":"Add a node to an existing graph object — add_node","text":"graph object class dgr_graph, add new node graph. One can optionally provide node attributes created node. also option create edges existing nodes graph. new edges can also created function, possibility set edge attributes new graph edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a node to an existing graph object — add_node","text":"","code":"add_node( graph, type = NULL, label = NULL, from = NULL, to = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a node to an existing graph object — add_node","text":"graph graph object class dgr_graph. type optional character object acts group identifier node added. label optional character object describes node. optional vector containing node IDs edges directed new node. optional vector containing node IDs edges directed new node. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a node to an existing graph object — add_node","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a node to an existing graph object — add_node","text":"","code":"# Create an empty graph and add 2 nodes by using # the `add_node()` function twice graph <- create_graph() %>% add_node() %>% add_node() # Get a count of all nodes # in the graph graph %>% count_nodes() #> [1] 2 # The nodes added were given # ID values `1` and `2`; obtain # the graph's node IDs graph %>% get_node_ids() #> [1] 1 2 # Add a node with a `type` # value defined graph <- graph %>% add_node(type = \"person\") # View the graph's internal # node data frame (ndf) graph %>% get_node_df() #> id type label #> 1 1 #> 2 2 #> 3 3 person "},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_clones_ws.html","id":null,"dir":"Reference","previous_headings":"","what":"Add clones of a selection of nodes — add_node_clones_ws","title":"Add clones of a selection of nodes — add_node_clones_ws","text":"Add new nodes graph object class dgr_graph clones nodes active selection nodes. node attributes preserved except node label attribute (maintain uniqueness non-NA node label values). vector node label can provided bind new labels cloned nodes. function makes use active selection nodes (function ending _ws hints ). Selections nodes can performed using following node selection (select_*()) functions: select_nodes(), select_last_nodes_created(), select_nodes_by_degree(), select_nodes_by_id(), select_nodes_in_neighborhood(). Selections nodes can also performed using following traversal (trav_*()) functions: trav_out(), trav_in(), trav_both(), trav_out_node(), trav_in_node(), trav_out_until(), trav_in_until().","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_clones_ws.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add clones of a selection of nodes — add_node_clones_ws","text":"","code":"add_node_clones_ws(graph, add_edges = FALSE, direction = NULL, label = NULL)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_clones_ws.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add clones of a selection of nodes — add_node_clones_ws","text":"graph graph object class dgr_graph. add_edges option whether add edges selected nodes clones, , opposite direction. direction Using create new edges existing nodes new, cloned nodes. option create new edges directed toward existing nodes. label optional vector node label values. vector length correspond number nodes active selection nodes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_clones_ws.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add clones of a selection of nodes — add_node_clones_ws","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_clones_ws.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add clones of a selection of nodes — add_node_clones_ws","text":"","code":"# Create a graph with a path of # nodes; supply `label`, `type`, # and `value` node attributes, # and select the created nodes graph <- create_graph() %>% add_path( n = 3, label = c(\"d\", \"g\", \"r\"), type = c(\"a\", \"b\", \"c\")) %>% select_last_nodes_created() # Display the graph's internal # node data frame graph %>% get_node_df() #> id type label #> 1 1 a d #> 2 2 b g #> 3 3 c r # Create clones of all nodes # in the selection but assign # new node label values # (leaving `label` as NULL # yields NA values) graph <- graph %>% add_node_clones_ws( label = c(\"a\", \"b\", \"v\")) # Display the graph's internal # node data frame: nodes `4`, # `5`, and `6` are clones of # `1`, `2`, and `3` graph %>% get_node_df() #> id type label #> 1 1 a d #> 2 2 b g #> 3 3 c r #> 4 4 a a #> 5 5 b b #> 6 6 c v # Select the last nodes # created (`4`, `5`, and `6`) # and clone those nodes and # their attributes while # creating new edges between # the new and existing nodes graph <- graph %>% select_last_nodes_created() %>% add_node_clones_ws( add_edges = TRUE, direction = \"to\", label = c(\"t\", \"z\", \"s\")) # Display the graph's internal # edge data frame; there are # edges between the selected # nodes and their clones graph %>% get_edge_df() #> id from to rel #> 1 1 1 2 #> 2 2 2 3 #> 3 3 4 7 #> 4 4 5 8 #> 5 5 6 9 "},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_df.html","id":null,"dir":"Reference","previous_headings":"","what":"Add nodes from a node data frame to an existing graph object — add_node_df","title":"Add nodes from a node data frame to an existing graph object — add_node_df","text":"graph object class dgr_graph add nodes node data frame graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_df.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add nodes from a node data frame to an existing graph object — add_node_df","text":"","code":"add_node_df(graph, node_df)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_df.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add nodes from a node data frame to an existing graph object — add_node_df","text":"graph graph object class dgr_graph. node_df node data frame created using create_node_df().","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_df.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add nodes from a node data frame to an existing graph object — add_node_df","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_df.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add nodes from a node data frame to an existing graph object — add_node_df","text":"","code":"# Create an empty graph graph <- create_graph() # Create a node data frame (ndf) ndf <- create_node_df(n = 2) # Add the node data frame to # the graph object to create # a graph with nodes graph <- graph %>% add_node_df( node_df = ndf) # Inspect the graph's ndf graph %>% get_node_df() #> id type label #> 1 1 #> 2 2 # Create another ndf ndf_2 <- create_node_df(n = 3) # Add the second node data # frame to the graph object # to add more nodes with # attributes to the graph graph <- graph %>% add_node_df( node_df = ndf_2) # View the graph's internal # node data frame using the # `get_node_df()` function graph %>% get_node_df() #> id type label #> 1 1 #> 2 2 #> 3 3 #> 4 4 #> 5 5 "},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_df_cols.html","id":null,"dir":"Reference","previous_headings":"","what":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","title":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","text":"Add new nodes graph object class dgr_graph using distinct values one columns data frame. values serve node labels number nodes added depends number distinct values found specified columns.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_df_cols.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","text":"","code":"add_nodes_from_df_cols( graph, df, columns, type = NULL, keep_duplicates = FALSE )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_df_cols.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","text":"graph graph object class dgr_graph. df data frame values taken new nodes graph. columns character vector column names numeric vector column numbers data frame supplied df. distinct values columns serve labels nodes added graph. type optional, single-length character vector provides group identifier nodes added graph. keep_duplicates option exclude incoming nodes labels (.e., values found columns specified df) match label values available graph's nodes. default, set FALSE.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_df_cols.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_df_cols.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","text":"","code":"# Create an empty graph graph <- create_graph() # Create a data frame from # which several columns have # values designated as graph nodes df <- data.frame( col_1 = c(\"f\", \"p\", \"q\"), col_2 = c(\"q\", \"x\", \"f\"), col_3 = c(1, 5, 3), col_4 = c(\"a\", \"v\", \"h\"), stringsAsFactors = FALSE) # Add nodes from columns `col_1` # and `col_2` from the data frame # to the graph object graph <- graph %>% add_nodes_from_df_cols( df = df, columns = c(\"col_1\", \"col_2\")) # Show the graph's node data # frame; duplicate labels are # prevented with `keep_duplicates = # FALSE`) graph %>% get_node_df() #> id type label #> 1 1 f #> 2 2 p #> 3 3 q #> 4 4 x # Add new nodes from columns 3 and 4; # We can specify the columns by their # numbers as well graph <- graph %>% add_nodes_from_df_cols( df = df, columns = 3:4) # Show the graph's node data # frame; note that nodes didn't # get made with columns that # are not character class columns graph %>% get_node_df() #> id type label #> 1 1 f #> 2 2 p #> 3 3 q #> 4 4 x #> 5 5 a #> 6 6 v #> 7 7 h"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_table.html","id":null,"dir":"Reference","previous_headings":"","what":"Add nodes and attributes to graph from a table — add_nodes_from_table","title":"Add nodes and attributes to graph from a table — add_nodes_from_table","text":"Add nodes attributes existing graph object data CSV file data frame.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_table.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add nodes and attributes to graph from a table — add_nodes_from_table","text":"","code":"add_nodes_from_table( graph, table, label_col = NULL, type_col = NULL, set_type = NULL, drop_cols = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_table.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add nodes and attributes to graph from a table — add_nodes_from_table","text":"graph graph object class dgr_graph. table Either path CSV file, , data frame object. label_col option apply column data table label attribute values. type_col option apply column data table type attribute values. set_type optional string apply type attribute nodes created data external table. drop_cols optional column selection statement dropping columns external table inclusion attributes graph's internal node data frame. Several columns can dropped name using syntax col_1 & col_2 & .... Columns can also dropped using numeric column range : (e.g., 5:8), , using : column names specify range (e.g., col_5_name:col_8_name).","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_table.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add nodes and attributes to graph from a table — add_nodes_from_table","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_table.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add nodes and attributes to graph from a table — add_nodes_from_table","text":"","code":"# To add nodes from the dataset called # `currencies` (available as a dataset # in the package), call the # `add_nodes_from_table()` function # after creating an empty graph; new # node ID values will be created as # monotonically-increasing values graph_1 <- create_graph() %>% add_nodes_from_table( table = currencies) # View part of the graph's internal # node data frame (ndf) graph_1 %>% get_node_df() %>% .[, 1:5] %>% head() #> id type label iso_4217_code curr_number #> 1 1 AED 784 #> 2 2 AFN 971 #> 3 3 ALL 8 #> 4 4 AMD 51 #> 5 5 ANG 532 #> 6 6
As can be seen from the output:
a
@@1
The graph shows two nodes connected together. Nothing more, nothing +
The graph shows two nodes connected together. Nothing more, nothing less. The more interesting views of the data are of the node and edge data frames, which now have several attributes set. Let’s have a look at the graph’s internal node data frame…
# Inspect the new graph's NDF graph_2 %>% get_node_df() #> id type label timestamp -#> 1 1 A <NA> 2024-02-03 18:45:15.490068 -#> 2 2 B <NA> 2024-02-03 18:45:15.513726
…and let’s inspect the graph’s internal edge data frame.
# Inspect the new graph's EDF graph_2 %>% get_edge_df() #> id from to rel timestamp -#> 1 1 1 2 AB 2024-02-03 18:45:15.532175
As can be seen, immediately invoking select_last_nodes_created() or select_last_edges_created() after addition of new nodes or diff --git a/articles/selections_files/grViz-binding-1.0.11.9000/grViz.js b/articles/selections_files/grViz-binding-1.0.11.9000/grViz.js new file mode 100644 index 00000000..f8013172 --- /dev/null +++ b/articles/selections_files/grViz-binding-1.0.11.9000/grViz.js @@ -0,0 +1,91 @@ +HTMLWidgets.widget({ + + name: 'grViz', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + }; + }, + + renderValue: function(el, x, instance) { + // Use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if (svg) { + if (svg.width) {svg.removeAttribute("width")} + if (svg.height) {svg.removeAttribute("height")} + svg.style.width = "100%"; + svg.style.height = "100%"; + } + } + + if (x.diagram !== "") { + + if (typeof x.config === "undefined"){ + x.config = {}; + x.config.engine = "dot"; + x.config.options = {}; + } + + try { + + el.innerHTML = Viz(x.diagram, format="svg", engine=x.config.engine, options=x.config.options); + + makeResponsive(el); + + if (HTMLWidgets.shinyMode) { + // Get widget id + var id = el.id; + + $("#" + id + " .node").click(function(e) { + // Get node id + var nodeid = e.currentTarget.id; + // Get node text object and make an array + var node_texts = $("#" + id + " #" + nodeid + " text"); + //var node_path = $("#" + nodeid + " path")[0]; + var text_array = node_texts.map(function() {return $(this).text(); }).toArray(); + // Build return object *obj* with node-id, node text values and node fill + var obj = { + id: nodeid, + //fill: node_path.attributes.fill.nodeValue, + //outerHMTL: node_path.outerHTML, + nodeValues: text_array + }; + // Send *obj* to Shiny's inputs (input$[id]+_click e.g.: input$vtree_click)) + Shiny.setInputValue(id + "_click", obj, {priority: "event"}); + }); + } + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (typeof x.tasks !== "undefined") { + if ((typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function")) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }); + } + } catch(e){ + var p = document.createElement("pre"); + p.innerText = e; + el.appendChild(p); + } + } + + }, + + resize: function(el, width, height, instance) { + } +}); diff --git a/articles/simple-graphs-ndfs-edfs.html b/articles/simple-graphs-ndfs-edfs.html index a3ea6f3e..3b3ea725 100644 --- a/articles/simple-graphs-ndfs-edfs.html +++ b/articles/simple-graphs-ndfs-edfs.html @@ -33,7 +33,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -80,7 +80,7 @@ - + Creating Simple Graphs from NDFs/EDFs @@ -281,8 +281,8 @@ Viewing a Graph ObjectLet’s have a look at the graph created in the last example: graph %>% render_graph() - -If you’d like to return the Graphviz DOT code (to, perhaps, share it + +If you’d like to return the Graphviz DOT code (to, perhaps, share it or use it directly with the Graphviz command-line utility), we can use the generate_dot() function. Here’s a simple example: diff --git a/articles/simple-graphs-ndfs-edfs_files/grViz-binding-1.0.11.9000/grViz.js b/articles/simple-graphs-ndfs-edfs_files/grViz-binding-1.0.11.9000/grViz.js new file mode 100644 index 00000000..f8013172 --- /dev/null +++ b/articles/simple-graphs-ndfs-edfs_files/grViz-binding-1.0.11.9000/grViz.js @@ -0,0 +1,91 @@ +HTMLWidgets.widget({ + + name: 'grViz', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + }; + }, + + renderValue: function(el, x, instance) { + // Use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if (svg) { + if (svg.width) {svg.removeAttribute("width")} + if (svg.height) {svg.removeAttribute("height")} + svg.style.width = "100%"; + svg.style.height = "100%"; + } + } + + if (x.diagram !== "") { + + if (typeof x.config === "undefined"){ + x.config = {}; + x.config.engine = "dot"; + x.config.options = {}; + } + + try { + + el.innerHTML = Viz(x.diagram, format="svg", engine=x.config.engine, options=x.config.options); + + makeResponsive(el); + + if (HTMLWidgets.shinyMode) { + // Get widget id + var id = el.id; + + $("#" + id + " .node").click(function(e) { + // Get node id + var nodeid = e.currentTarget.id; + // Get node text object and make an array + var node_texts = $("#" + id + " #" + nodeid + " text"); + //var node_path = $("#" + nodeid + " path")[0]; + var text_array = node_texts.map(function() {return $(this).text(); }).toArray(); + // Build return object *obj* with node-id, node text values and node fill + var obj = { + id: nodeid, + //fill: node_path.attributes.fill.nodeValue, + //outerHMTL: node_path.outerHTML, + nodeValues: text_array + }; + // Send *obj* to Shiny's inputs (input$[id]+_click e.g.: input$vtree_click)) + Shiny.setInputValue(id + "_click", obj, {priority: "event"}); + }); + } + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (typeof x.tasks !== "undefined") { + if ((typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function")) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }); + } + } catch(e){ + var p = document.createElement("pre"); + p.innerText = e; + el.appendChild(p); + } + } + + }, + + resize: function(el, width, height, instance) { + } +}); diff --git a/articles/traversals.html b/articles/traversals.html index 4513691c..0d795b4f 100644 --- a/articles/traversals.html +++ b/articles/traversals.html @@ -33,7 +33,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -80,7 +80,7 @@ - + Traversals @@ -229,8 +229,8 @@ Traversals Across Nodes ) graph_1 %>% render_graph() - -We can now take the selection (still the central node 1) + +We can now take the selection (still the central node 1) and traverse via outbound edges to adjacent nodes: 2, 3, 4, 5, and 6. @@ -317,8 +317,8 @@ Traversals Across Nodes # View the created graph graph %>% render_graph() - - + + graph %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% @@ -352,8 +352,8 @@ Traversals Across Nodes # View the updated graph updated_graph %>% render_graph() - -We are not limited to starting a traversal from a single node ID + +We are not limited to starting a traversal from a single node ID value. We can, for example, begin from a selection of nodes based on a regular expression and traverse to a matching type string value (or to other node attributes that have character @@ -399,8 +399,8 @@ Traversals Across Nodes # View the graph graph %>% render_graph() - - + + # View the internal NDF for sake of # reference graph %>% get_node_df() @@ -624,8 +624,8 @@ Traversals from Nodes to Edges) graph %>% render_graph() - - + + diff --git a/articles/traversals_files/grViz-binding-1.0.11.9000/grViz.js b/articles/traversals_files/grViz-binding-1.0.11.9000/grViz.js new file mode 100644 index 00000000..f8013172 --- /dev/null +++ b/articles/traversals_files/grViz-binding-1.0.11.9000/grViz.js @@ -0,0 +1,91 @@ +HTMLWidgets.widget({ + + name: 'grViz', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + }; + }, + + renderValue: function(el, x, instance) { + // Use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if (svg) { + if (svg.width) {svg.removeAttribute("width")} + if (svg.height) {svg.removeAttribute("height")} + svg.style.width = "100%"; + svg.style.height = "100%"; + } + } + + if (x.diagram !== "") { + + if (typeof x.config === "undefined"){ + x.config = {}; + x.config.engine = "dot"; + x.config.options = {}; + } + + try { + + el.innerHTML = Viz(x.diagram, format="svg", engine=x.config.engine, options=x.config.options); + + makeResponsive(el); + + if (HTMLWidgets.shinyMode) { + // Get widget id + var id = el.id; + + $("#" + id + " .node").click(function(e) { + // Get node id + var nodeid = e.currentTarget.id; + // Get node text object and make an array + var node_texts = $("#" + id + " #" + nodeid + " text"); + //var node_path = $("#" + nodeid + " path")[0]; + var text_array = node_texts.map(function() {return $(this).text(); }).toArray(); + // Build return object *obj* with node-id, node text values and node fill + var obj = { + id: nodeid, + //fill: node_path.attributes.fill.nodeValue, + //outerHMTL: node_path.outerHTML, + nodeValues: text_array + }; + // Send *obj* to Shiny's inputs (input$[id]+_click e.g.: input$vtree_click)) + Shiny.setInputValue(id + "_click", obj, {priority: "event"}); + }); + } + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (typeof x.tasks !== "undefined") { + if ((typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function")) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }); + } + } catch(e){ + var p = document.createElement("pre"); + p.innerText = e; + el.appendChild(p); + } + } + + }, + + resize: function(el, width, height, instance) { + } +}); diff --git a/authors.html b/authors.html index 8a305d8d..d460d88e 100644 --- a/authors.html +++ b/authors.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -72,14 +72,14 @@ Citation Iannone R, Roy O (2024). DiagrammeR: Graph/Network Visualization. -R package version 1.0.11, +R package version 1.0.11.9000, https://github.com/rich-iannone/DiagrammeR, https://rich-iannone.github.io/DiagrammeR/. @Manual{, title = {DiagrammeR: Graph/Network Visualization}, author = {Richard Iannone and Olivier Roy}, year = {2024}, - note = {R package version 1.0.11, + note = {R package version 1.0.11.9000, https://github.com/rich-iannone/DiagrammeR}, url = {https://rich-iannone.github.io/DiagrammeR/}, } diff --git a/index.html b/index.html index cd342a64..9913dfff 100644 --- a/index.html +++ b/index.html @@ -45,7 +45,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/news/index.html b/news/index.html index 31b54605..3972105d 100644 --- a/news/index.html +++ b/news/index.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -54,6 +54,9 @@ Source: NEWS.md + +DiagrammeR (development version) + DiagrammeR 1.0.11CRAN release: 2024-02-02 DiagrammeR now has a dependency on viridisLite instead of viridis (@olivroy, #511) diff --git a/pkgdown.yml b/pkgdown.yml index 20573e96..9f5cff43 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -7,7 +7,7 @@ articles: selections: selections.html simple-graphs-ndfs-edfs: simple-graphs-ndfs-edfs.html traversals: traversals.html -last_built: 2024-02-03T18:44Z +last_built: 2024-02-03T18:47Z urls: reference: https://rich-iannone.github.io/DiagrammeR/reference article: https://rich-iannone.github.io/DiagrammeR/articles diff --git a/reference/DiagrammeR-package.html b/reference/DiagrammeR-package.html index 550e23f7..7cb9fc61 100644 --- a/reference/DiagrammeR-package.html +++ b/reference/DiagrammeR-package.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/DiagrammeR.html b/reference/DiagrammeR.html index 55505613..76abf86a 100644 --- a/reference/DiagrammeR.html +++ b/reference/DiagrammeR.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/DiagrammeROutput.html b/reference/DiagrammeROutput.html index 81ce9728..66db43a8 100644 --- a/reference/DiagrammeROutput.html +++ b/reference/DiagrammeROutput.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_balanced_tree.html b/reference/add_balanced_tree.html index 137c260d..7ba46dfe 100644 --- a/reference/add_balanced_tree.html +++ b/reference/add_balanced_tree.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_cycle.html b/reference/add_cycle.html index 92309dfb..75822dcb 100644 --- a/reference/add_cycle.html +++ b/reference/add_cycle.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edge.html b/reference/add_edge.html index 8d50723e..a2095c90 100644 --- a/reference/add_edge.html +++ b/reference/add_edge.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edge_clone.html b/reference/add_edge_clone.html index 223378a3..2b5af441 100644 --- a/reference/add_edge_clone.html +++ b/reference/add_edge_clone.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edge_df.html b/reference/add_edge_df.html index 85d6ec8b..f6532e39 100644 --- a/reference/add_edge_df.html +++ b/reference/add_edge_df.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edges_from_table.html b/reference/add_edges_from_table.html index a618b825..7a1da015 100644 --- a/reference/add_edges_from_table.html +++ b/reference/add_edges_from_table.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edges_w_string.html b/reference/add_edges_w_string.html index 4256e8b0..b87f624f 100644 --- a/reference/add_edges_w_string.html +++ b/reference/add_edges_w_string.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_forward_edges_ws.html b/reference/add_forward_edges_ws.html index b25c21d7..65a17c1c 100644 --- a/reference/add_forward_edges_ws.html +++ b/reference/add_forward_edges_ws.html @@ -36,7 +36,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_full_graph.html b/reference/add_full_graph.html index 656b9d4b..a754108f 100644 --- a/reference/add_full_graph.html +++ b/reference/add_full_graph.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_global_graph_attrs.html b/reference/add_global_graph_attrs.html index 46faeff2..a4c34952 100644 --- a/reference/add_global_graph_attrs.html +++ b/reference/add_global_graph_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_gnm_graph.html b/reference/add_gnm_graph.html index de865b4d..94479a05 100644 --- a/reference/add_gnm_graph.html +++ b/reference/add_gnm_graph.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_gnp_graph.html b/reference/add_gnp_graph.html index 8b811a3b..6cb77dbb 100644 --- a/reference/add_gnp_graph.html +++ b/reference/add_gnp_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_graph_action.html b/reference/add_graph_action.html index 0be2bee9..87ae0ff2 100644 --- a/reference/add_graph_action.html +++ b/reference/add_graph_action.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_graph_to_graph_series.html b/reference/add_graph_to_graph_series.html index 1e459fa2..9f32b83f 100644 --- a/reference/add_graph_to_graph_series.html +++ b/reference/add_graph_to_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_grid_2d.html b/reference/add_grid_2d.html index ca999ef2..2becab0a 100644 --- a/reference/add_grid_2d.html +++ b/reference/add_grid_2d.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_grid_3d.html b/reference/add_grid_3d.html index e177f14a..1c277626 100644 --- a/reference/add_grid_3d.html +++ b/reference/add_grid_3d.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_growing_graph.html b/reference/add_growing_graph.html index 1fcda567..121a6973 100644 --- a/reference/add_growing_graph.html +++ b/reference/add_growing_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_islands_graph.html b/reference/add_islands_graph.html index 75c4e086..5ab7529d 100644 --- a/reference/add_islands_graph.html +++ b/reference/add_islands_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_mathjax.html b/reference/add_mathjax.html index a9298f62..8f2740b5 100644 --- a/reference/add_mathjax.html +++ b/reference/add_mathjax.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_n_node_clones.html b/reference/add_n_node_clones.html index 0292db56..3f851629 100644 --- a/reference/add_n_node_clones.html +++ b/reference/add_n_node_clones.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_n_nodes.html b/reference/add_n_nodes.html index aad60212..8038b870 100644 --- a/reference/add_n_nodes.html +++ b/reference/add_n_nodes.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_n_nodes_ws.html b/reference/add_n_nodes_ws.html index 013cd2ef..8e2476a8 100644 --- a/reference/add_n_nodes_ws.html +++ b/reference/add_n_nodes_ws.html @@ -40,7 +40,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_node.html b/reference/add_node.html index e755add6..deeb4ccd 100644 --- a/reference/add_node.html +++ b/reference/add_node.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_node_clones_ws.html b/reference/add_node_clones_ws.html index 91c88939..fb0277f5 100644 --- a/reference/add_node_clones_ws.html +++ b/reference/add_node_clones_ws.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_node_df.html b/reference/add_node_df.html index 4d4de3c1..cf752e2b 100644 --- a/reference/add_node_df.html +++ b/reference/add_node_df.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_nodes_from_df_cols.html b/reference/add_nodes_from_df_cols.html index c41f383a..fbc8826d 100644 --- a/reference/add_nodes_from_df_cols.html +++ b/reference/add_nodes_from_df_cols.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_nodes_from_table.html b/reference/add_nodes_from_table.html index 4e98ca64..51b996c9 100644 --- a/reference/add_nodes_from_table.html +++ b/reference/add_nodes_from_table.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_pa_graph.html b/reference/add_pa_graph.html index 6d946968..1d727c93 100644 --- a/reference/add_pa_graph.html +++ b/reference/add_pa_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_path.html b/reference/add_path.html index 630dd302..94e8ee36 100644 --- a/reference/add_path.html +++ b/reference/add_path.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_prism.html b/reference/add_prism.html index 8e3fd6f7..846d7a91 100644 --- a/reference/add_prism.html +++ b/reference/add_prism.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_reverse_edges_ws.html b/reference/add_reverse_edges_ws.html index 68588b8d..ff02770e 100644 --- a/reference/add_reverse_edges_ws.html +++ b/reference/add_reverse_edges_ws.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_smallworld_graph.html b/reference/add_smallworld_graph.html index 596c3c97..795b14cf 100644 --- a/reference/add_smallworld_graph.html +++ b/reference/add_smallworld_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_star.html b/reference/add_star.html index b674bb51..7e4dfb92 100644 --- a/reference/add_star.html +++ b/reference/add_star.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/clear_selection.html b/reference/clear_selection.html index 60ca6b5a..51efbcb4 100644 --- a/reference/clear_selection.html +++ b/reference/clear_selection.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/colorize_edge_attrs.html b/reference/colorize_edge_attrs.html index 32d5190b..7abd5068 100644 --- a/reference/colorize_edge_attrs.html +++ b/reference/colorize_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/colorize_node_attrs.html b/reference/colorize_node_attrs.html index 246ce372..a6ac7308 100644 --- a/reference/colorize_node_attrs.html +++ b/reference/colorize_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/combine_edfs.html b/reference/combine_edfs.html index 95182e66..488ca985 100644 --- a/reference/combine_edfs.html +++ b/reference/combine_edfs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/combine_graphs.html b/reference/combine_graphs.html index e34ed43e..907e9b08 100644 --- a/reference/combine_graphs.html +++ b/reference/combine_graphs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/combine_ndfs.html b/reference/combine_ndfs.html index a5f9c2b6..10c823d3 100644 --- a/reference/combine_ndfs.html +++ b/reference/combine_ndfs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/copy_edge_attrs.html b/reference/copy_edge_attrs.html index 6171ec9b..0ab1296b 100644 --- a/reference/copy_edge_attrs.html +++ b/reference/copy_edge_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/copy_node_attrs.html b/reference/copy_node_attrs.html index fbec86fa..e61fa518 100644 --- a/reference/copy_node_attrs.html +++ b/reference/copy_node_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_asymmetric_node_pairs.html b/reference/count_asymmetric_node_pairs.html index e80f7e94..26f3fe04 100644 --- a/reference/count_asymmetric_node_pairs.html +++ b/reference/count_asymmetric_node_pairs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_automorphisms.html b/reference/count_automorphisms.html index 8e6fe050..6fdb71f5 100644 --- a/reference/count_automorphisms.html +++ b/reference/count_automorphisms.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_edges.html b/reference/count_edges.html index 9b571821..4e3e3e58 100644 --- a/reference/count_edges.html +++ b/reference/count_edges.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_graphs_in_graph_series.html b/reference/count_graphs_in_graph_series.html index 5d571a47..9c18919c 100644 --- a/reference/count_graphs_in_graph_series.html +++ b/reference/count_graphs_in_graph_series.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_loop_edges.html b/reference/count_loop_edges.html index bcd2cea1..e6a5b382 100644 --- a/reference/count_loop_edges.html +++ b/reference/count_loop_edges.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_mutual_node_pairs.html b/reference/count_mutual_node_pairs.html index 3d9b24bf..cb97f57d 100644 --- a/reference/count_mutual_node_pairs.html +++ b/reference/count_mutual_node_pairs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_nodes.html b/reference/count_nodes.html index 448f73e8..484a5c90 100644 --- a/reference/count_nodes.html +++ b/reference/count_nodes.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_s_connected_cmpts.html b/reference/count_s_connected_cmpts.html index 22d5adad..254d004e 100644 --- a/reference/count_s_connected_cmpts.html +++ b/reference/count_s_connected_cmpts.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_unconnected_node_pairs.html b/reference/count_unconnected_node_pairs.html index e0c95fe0..cc7613d7 100644 --- a/reference/count_unconnected_node_pairs.html +++ b/reference/count_unconnected_node_pairs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_unconnected_nodes.html b/reference/count_unconnected_nodes.html index f258f6cb..d66cdb21 100644 --- a/reference/count_unconnected_nodes.html +++ b/reference/count_unconnected_nodes.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_w_connected_cmpts.html b/reference/count_w_connected_cmpts.html index 63194153..078ca9b1 100644 --- a/reference/count_w_connected_cmpts.html +++ b/reference/count_w_connected_cmpts.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_edge_df.html b/reference/create_edge_df.html index a2dfb89f..78ea3fe6 100644 --- a/reference/create_edge_df.html +++ b/reference/create_edge_df.html @@ -34,7 +34,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_graph.html b/reference/create_graph.html index 2c36e117..9a7e8f45 100644 --- a/reference/create_graph.html +++ b/reference/create_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_graph_series.html b/reference/create_graph_series.html index 6aeb7f7a..50737cc6 100644 --- a/reference/create_graph_series.html +++ b/reference/create_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_node_df.html b/reference/create_node_df.html index 3ea5fb90..08777ed5 100644 --- a/reference/create_node_df.html +++ b/reference/create_node_df.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/currencies.html b/reference/currencies.html index 4b9d1fd7..f7b4e666 100644 --- a/reference/currencies.html +++ b/reference/currencies.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_cache.html b/reference/delete_cache.html index f94aec14..bc1f5043 100644 --- a/reference/delete_cache.html +++ b/reference/delete_cache.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_edge.html b/reference/delete_edge.html index 6deb0e15..9895c334 100644 --- a/reference/delete_edge.html +++ b/reference/delete_edge.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_edges_ws.html b/reference/delete_edges_ws.html index ac49ee16..c85b6322 100644 --- a/reference/delete_edges_ws.html +++ b/reference/delete_edges_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_global_graph_attrs.html b/reference/delete_global_graph_attrs.html index 913ba9f8..17177dda 100644 --- a/reference/delete_global_graph_attrs.html +++ b/reference/delete_global_graph_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_graph_actions.html b/reference/delete_graph_actions.html index 505e6b23..715639a8 100644 --- a/reference/delete_graph_actions.html +++ b/reference/delete_graph_actions.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_loop_edges_ws.html b/reference/delete_loop_edges_ws.html index d9677c5c..26a2e3f5 100644 --- a/reference/delete_loop_edges_ws.html +++ b/reference/delete_loop_edges_ws.html @@ -30,7 +30,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_node.html b/reference/delete_node.html index 48c9a348..9a460106 100644 --- a/reference/delete_node.html +++ b/reference/delete_node.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_nodes_ws.html b/reference/delete_nodes_ws.html index 5355e216..924f4d6c 100644 --- a/reference/delete_nodes_ws.html +++ b/reference/delete_nodes_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/deselect_edges.html b/reference/deselect_edges.html index b9f1e88a..4adca7aa 100644 --- a/reference/deselect_edges.html +++ b/reference/deselect_edges.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/deselect_nodes.html b/reference/deselect_nodes.html index d72ffa08..d92fb70d 100644 --- a/reference/deselect_nodes.html +++ b/reference/deselect_nodes.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/display_metagraph.html b/reference/display_metagraph.html index d5c6d1e9..07fdcd5e 100644 --- a/reference/display_metagraph.html +++ b/reference/display_metagraph.html @@ -22,7 +22,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/do_bfs.html b/reference/do_bfs.html index bcee0a88..3cac1205 100644 --- a/reference/do_bfs.html +++ b/reference/do_bfs.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/do_dfs.html b/reference/do_dfs.html index c5719a18..76cfb7e4 100644 --- a/reference/do_dfs.html +++ b/reference/do_dfs.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/drop_edge_attrs.html b/reference/drop_edge_attrs.html index 2661f50a..326f8ad1 100644 --- a/reference/drop_edge_attrs.html +++ b/reference/drop_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/drop_node_attrs.html b/reference/drop_node_attrs.html index 8d99a4a6..a81034dd 100644 --- a/reference/drop_node_attrs.html +++ b/reference/drop_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_aes.html b/reference/edge_aes.html index bbb001c2..67513bac 100644 --- a/reference/edge_aes.html +++ b/reference/edge_aes.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_data.html b/reference/edge_data.html index f0c462d8..b7ebcf02 100644 --- a/reference/edge_data.html +++ b/reference/edge_data.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_list_1.html b/reference/edge_list_1.html index e59cd019..3529bb8b 100644 --- a/reference/edge_list_1.html +++ b/reference/edge_list_1.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_list_2.html b/reference/edge_list_2.html index 5ba001f2..fe1b5c55 100644 --- a/reference/edge_list_2.html +++ b/reference/edge_list_2.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/export_csv.html b/reference/export_csv.html index e0d5600d..05d124b7 100644 --- a/reference/export_csv.html +++ b/reference/export_csv.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/export_graph.html b/reference/export_graph.html index 081ae56e..f0b97010 100644 --- a/reference/export_graph.html +++ b/reference/export_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/filter_graph_series.html b/reference/filter_graph_series.html index ae0d442f..fae9ca56 100644 --- a/reference/filter_graph_series.html +++ b/reference/filter_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/from_adj_matrix.html b/reference/from_adj_matrix.html index a5409119..5b22c576 100644 --- a/reference/from_adj_matrix.html +++ b/reference/from_adj_matrix.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/from_igraph.html b/reference/from_igraph.html index 39d1f5ec..610990b9 100644 --- a/reference/from_igraph.html +++ b/reference/from_igraph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/fully_connect_nodes_ws.html b/reference/fully_connect_nodes_ws.html index 07f984ca..37ab56a1 100644 --- a/reference/fully_connect_nodes_ws.html +++ b/reference/fully_connect_nodes_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/fully_disconnect_nodes_ws.html b/reference/fully_disconnect_nodes_ws.html index 49d20b8f..18d7261d 100644 --- a/reference/fully_disconnect_nodes_ws.html +++ b/reference/fully_disconnect_nodes_ws.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/generate_dot.html b/reference/generate_dot.html index 181d27ad..a7cd0495 100644 --- a/reference/generate_dot.html +++ b/reference/generate_dot.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_adhesion.html b/reference/get_adhesion.html index 76952804..12bd9998 100644 --- a/reference/get_adhesion.html +++ b/reference/get_adhesion.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_agg_degree_in.html b/reference/get_agg_degree_in.html index e204bdc3..f4110f8a 100644 --- a/reference/get_agg_degree_in.html +++ b/reference/get_agg_degree_in.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_agg_degree_out.html b/reference/get_agg_degree_out.html index 340a56ef..2c89de62 100644 --- a/reference/get_agg_degree_out.html +++ b/reference/get_agg_degree_out.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_agg_degree_total.html b/reference/get_agg_degree_total.html index 4d425f89..ef56cbbd 100644 --- a/reference/get_agg_degree_total.html +++ b/reference/get_agg_degree_total.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_all_connected_nodes.html b/reference/get_all_connected_nodes.html index d9f0755a..9454ba3d 100644 --- a/reference/get_all_connected_nodes.html +++ b/reference/get_all_connected_nodes.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_alpha_centrality.html b/reference/get_alpha_centrality.html index 6fb0f6fe..04294074 100644 --- a/reference/get_alpha_centrality.html +++ b/reference/get_alpha_centrality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_articulation_points.html b/reference/get_articulation_points.html index 68d98692..20e195bd 100644 --- a/reference/get_articulation_points.html +++ b/reference/get_articulation_points.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_authority_centrality.html b/reference/get_authority_centrality.html index 42c0c3f0..167c3b7d 100644 --- a/reference/get_authority_centrality.html +++ b/reference/get_authority_centrality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_betweenness.html b/reference/get_betweenness.html index 24f9df7a..c368c841 100644 --- a/reference/get_betweenness.html +++ b/reference/get_betweenness.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cache.html b/reference/get_cache.html index 2bc9cc9f..e034ca77 100644 --- a/reference/get_cache.html +++ b/reference/get_cache.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_closeness.html b/reference/get_closeness.html index fdaa80e9..d07cf62f 100644 --- a/reference/get_closeness.html +++ b/reference/get_closeness.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_closeness_vitality.html b/reference/get_closeness_vitality.html index d2f344de..cf875d2d 100644 --- a/reference/get_closeness_vitality.html +++ b/reference/get_closeness_vitality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_edge_btwns.html b/reference/get_cmty_edge_btwns.html index 66885b43..abed7b7c 100644 --- a/reference/get_cmty_edge_btwns.html +++ b/reference/get_cmty_edge_btwns.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_fast_greedy.html b/reference/get_cmty_fast_greedy.html index 8c8e84d7..d7c2dcde 100644 --- a/reference/get_cmty_fast_greedy.html +++ b/reference/get_cmty_fast_greedy.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_l_eigenvec.html b/reference/get_cmty_l_eigenvec.html index b28961a8..2624022e 100644 --- a/reference/get_cmty_l_eigenvec.html +++ b/reference/get_cmty_l_eigenvec.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_louvain.html b/reference/get_cmty_louvain.html index c37141c4..d04cc000 100644 --- a/reference/get_cmty_louvain.html +++ b/reference/get_cmty_louvain.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_walktrap.html b/reference/get_cmty_walktrap.html index 33f11682..79c70b13 100644 --- a/reference/get_cmty_walktrap.html +++ b/reference/get_cmty_walktrap.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_common_nbrs.html b/reference/get_common_nbrs.html index 7da0245c..c88bd80b 100644 --- a/reference/get_common_nbrs.html +++ b/reference/get_common_nbrs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_coreness.html b/reference/get_coreness.html index 1bb94eb6..ed60a885 100644 --- a/reference/get_coreness.html +++ b/reference/get_coreness.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_distribution.html b/reference/get_degree_distribution.html index 5fd47a70..c489c259 100644 --- a/reference/get_degree_distribution.html +++ b/reference/get_degree_distribution.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_histogram.html b/reference/get_degree_histogram.html index bd75c141..b6e7461b 100644 --- a/reference/get_degree_histogram.html +++ b/reference/get_degree_histogram.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_in.html b/reference/get_degree_in.html index d7736aaa..59b19483 100644 --- a/reference/get_degree_in.html +++ b/reference/get_degree_in.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_out.html b/reference/get_degree_out.html index ccfb4fd8..9765c155 100644 --- a/reference/get_degree_out.html +++ b/reference/get_degree_out.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_total.html b/reference/get_degree_total.html index 6b7ff5f5..9f5a4145 100644 --- a/reference/get_degree_total.html +++ b/reference/get_degree_total.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_dice_similarity.html b/reference/get_dice_similarity.html index d327c4a8..545ba9e9 100644 --- a/reference/get_dice_similarity.html +++ b/reference/get_dice_similarity.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_eccentricity.html b/reference/get_eccentricity.html index 0ca78fd7..6c4ee42f 100644 --- a/reference/get_eccentricity.html +++ b/reference/get_eccentricity.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_attrs.html b/reference/get_edge_attrs.html index cd95966e..6a84a68d 100644 --- a/reference/get_edge_attrs.html +++ b/reference/get_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_attrs_ws.html b/reference/get_edge_attrs_ws.html index db9de5b1..0322f289 100644 --- a/reference/get_edge_attrs_ws.html +++ b/reference/get_edge_attrs_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_count_w_multiedge.html b/reference/get_edge_count_w_multiedge.html index 320b6a46..84a1be8b 100644 --- a/reference/get_edge_count_w_multiedge.html +++ b/reference/get_edge_count_w_multiedge.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_df.html b/reference/get_edge_df.html index 50d95f86..6e209c6c 100644 --- a/reference/get_edge_df.html +++ b/reference/get_edge_df.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_df_ws.html b/reference/get_edge_df_ws.html index afcb5dfc..23b4b04d 100644 --- a/reference/get_edge_df_ws.html +++ b/reference/get_edge_df_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_ids.html b/reference/get_edge_ids.html index fe909264..a51b1db0 100644 --- a/reference/get_edge_ids.html +++ b/reference/get_edge_ids.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_info.html b/reference/get_edge_info.html index 0b7fe45f..d9116801 100644 --- a/reference/get_edge_info.html +++ b/reference/get_edge_info.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edges.html b/reference/get_edges.html index bc8695f9..7facd98a 100644 --- a/reference/get_edges.html +++ b/reference/get_edges.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_eigen_centrality.html b/reference/get_eigen_centrality.html index 24c90629..d21b0427 100644 --- a/reference/get_eigen_centrality.html +++ b/reference/get_eigen_centrality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_girth.html b/reference/get_girth.html index 39790c40..4539b631 100644 --- a/reference/get_girth.html +++ b/reference/get_girth.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_global_graph_attr_info.html b/reference/get_global_graph_attr_info.html index 0bda1982..55efa369 100644 --- a/reference/get_global_graph_attr_info.html +++ b/reference/get_global_graph_attr_info.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_actions.html b/reference/get_graph_actions.html index b4821520..d8f4546b 100644 --- a/reference/get_graph_actions.html +++ b/reference/get_graph_actions.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_from_graph_series.html b/reference/get_graph_from_graph_series.html index 3721bb04..c6c9828c 100644 --- a/reference/get_graph_from_graph_series.html +++ b/reference/get_graph_from_graph_series.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_info.html b/reference/get_graph_info.html index 09a9b1ac..7537c861 100644 --- a/reference/get_graph_info.html +++ b/reference/get_graph_info.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_log.html b/reference/get_graph_log.html index 0e1bf0bd..d26e39cc 100644 --- a/reference/get_graph_log.html +++ b/reference/get_graph_log.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -101,10 +101,10 @@ Examples#> # A tibble: 4 × 8 #> version_id function_used time_modified duration nodes edges d_n d_e #> <int> <chr> <dttm> <dbl> <int> <int> <int> <int> -#> 1 1 create_graph 2024-02-03 18:44:43 0.00282 0 0 0 0 -#> 2 2 add_gnm_graph 2024-02-03 18:44:43 0.0137 10 15 10 15 -#> 3 3 delete_node 2024-02-03 18:44:43 0.0174 9 11 -1 -4 -#> 4 4 delete_node 2024-02-03 18:44:43 0.0203 8 8 -1 -3 +#> 1 1 create_graph 2024-02-03 18:48:04 0.00286 0 0 0 0 +#> 2 2 add_gnm_graph 2024-02-03 18:48:04 0.0108 10 15 10 15 +#> 3 3 delete_node 2024-02-03 18:48:04 0.0140 9 11 -1 -4 +#> 4 4 delete_node 2024-02-03 18:48:04 0.0170 8 8 -1 -3 diff --git a/reference/get_graph_name.html b/reference/get_graph_name.html index 3e63227d..a5cb5441 100644 --- a/reference/get_graph_name.html +++ b/reference/get_graph_name.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_series_info.html b/reference/get_graph_series_info.html index 2417404a..8e08928a 100644 --- a/reference/get_graph_series_info.html +++ b/reference/get_graph_series_info.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -107,9 +107,9 @@ Examples# Get information on the graphs in the series series %>% get_graph_series_info() #> graph name date_time tz nodes edges directed -#> 1 1 graph_SVUyR63K 2024-02-03 18:44:43 UTC 4 3 TRUE -#> 2 2 graph_SueySz3B 2024-02-03 18:44:43 UTC 5 5 TRUE -#> 3 3 graph_HYG7a9jw 2024-02-03 18:44:43 UTC 6 5 TRUE +#> 1 1 graph_SVUyR63K 2024-02-03 18:48:04 UTC 4 3 TRUE +#> 2 2 graph_SueySz3B 2024-02-03 18:48:04 UTC 5 5 TRUE +#> 3 3 graph_HYG7a9jw 2024-02-03 18:48:04 UTC 6 5 TRUE diff --git a/reference/get_graph_time.html b/reference/get_graph_time.html index c6bb715b..82813cfd 100644 --- a/reference/get_graph_time.html +++ b/reference/get_graph_time.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_jaccard_similarity.html b/reference/get_jaccard_similarity.html index d73ff38c..84524c45 100644 --- a/reference/get_jaccard_similarity.html +++ b/reference/get_jaccard_similarity.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_last_edges_created.html b/reference/get_last_edges_created.html index dfe6aec5..c5e1179e 100644 --- a/reference/get_last_edges_created.html +++ b/reference/get_last_edges_created.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_last_nodes_created.html b/reference/get_last_nodes_created.html index 023b76dc..8de07a18 100644 --- a/reference/get_last_nodes_created.html +++ b/reference/get_last_nodes_created.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_leverage_centrality.html b/reference/get_leverage_centrality.html index 5d0d7032..cd3aa377 100644 --- a/reference/get_leverage_centrality.html +++ b/reference/get_leverage_centrality.html @@ -22,7 +22,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_max_eccentricity.html b/reference/get_max_eccentricity.html index 3e251156..741f024b 100644 --- a/reference/get_max_eccentricity.html +++ b/reference/get_max_eccentricity.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_mean_distance.html b/reference/get_mean_distance.html index e7c3710b..2744e2d6 100644 --- a/reference/get_mean_distance.html +++ b/reference/get_mean_distance.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_min_cut_between.html b/reference/get_min_cut_between.html index 96472b08..83e628f1 100644 --- a/reference/get_min_cut_between.html +++ b/reference/get_min_cut_between.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_min_eccentricity.html b/reference/get_min_eccentricity.html index 1ea598d7..224e7dc7 100644 --- a/reference/get_min_eccentricity.html +++ b/reference/get_min_eccentricity.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_multiedge_count.html b/reference/get_multiedge_count.html index b591d447..14a7569b 100644 --- a/reference/get_multiedge_count.html +++ b/reference/get_multiedge_count.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_nbrs.html b/reference/get_nbrs.html index a4c95a44..a848f8c3 100644 --- a/reference/get_nbrs.html +++ b/reference/get_nbrs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_attrs.html b/reference/get_node_attrs.html index 8ba2c868..b4f8a80c 100644 --- a/reference/get_node_attrs.html +++ b/reference/get_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_attrs_ws.html b/reference/get_node_attrs_ws.html index 7ddd99df..e017d656 100644 --- a/reference/get_node_attrs_ws.html +++ b/reference/get_node_attrs_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_df.html b/reference/get_node_df.html index 47fa2568..b350e9f3 100644 --- a/reference/get_node_df.html +++ b/reference/get_node_df.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_df_ws.html b/reference/get_node_df_ws.html index 93913ae4..557fca3b 100644 --- a/reference/get_node_df_ws.html +++ b/reference/get_node_df_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_ids.html b/reference/get_node_ids.html index 7aaec390..dbc10c53 100644 --- a/reference/get_node_ids.html +++ b/reference/get_node_ids.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_node_info.html b/reference/get_node_info.html index 587d8728..21a75904 100644 --- a/reference/get_node_info.html +++ b/reference/get_node_info.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_non_nbrs.html b/reference/get_non_nbrs.html index d7f11043..60c6a598 100644 --- a/reference/get_non_nbrs.html +++ b/reference/get_non_nbrs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_pagerank.html b/reference/get_pagerank.html index 0865336f..6d8490a2 100644 --- a/reference/get_pagerank.html +++ b/reference/get_pagerank.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_paths.html b/reference/get_paths.html index 83c924a2..92af083e 100644 --- a/reference/get_paths.html +++ b/reference/get_paths.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_periphery.html b/reference/get_periphery.html index a44de23c..4824d906 100644 --- a/reference/get_periphery.html +++ b/reference/get_periphery.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_predecessors.html b/reference/get_predecessors.html index 8ee32b12..b5a24fd1 100644 --- a/reference/get_predecessors.html +++ b/reference/get_predecessors.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_radiality.html b/reference/get_radiality.html index a10bb6d7..83782619 100644 --- a/reference/get_radiality.html +++ b/reference/get_radiality.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_reciprocity.html b/reference/get_reciprocity.html index 8edf6c8f..83efd526 100644 --- a/reference/get_reciprocity.html +++ b/reference/get_reciprocity.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_s_connected_cmpts.html b/reference/get_s_connected_cmpts.html index 33fd43a5..54971ca7 100644 --- a/reference/get_s_connected_cmpts.html +++ b/reference/get_s_connected_cmpts.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_selection.html b/reference/get_selection.html index a0eda519..5206e174 100644 --- a/reference/get_selection.html +++ b/reference/get_selection.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_similar_nbrs.html b/reference/get_similar_nbrs.html index b625549f..f6861acc 100644 --- a/reference/get_similar_nbrs.html +++ b/reference/get_similar_nbrs.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_successors.html b/reference/get_successors.html index 9dd3ab3a..4f81295b 100644 --- a/reference/get_successors.html +++ b/reference/get_successors.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_w_connected_cmpts.html b/reference/get_w_connected_cmpts.html index f2fb9d0a..164fdc0f 100644 --- a/reference/get_w_connected_cmpts.html +++ b/reference/get_w_connected_cmpts.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/grViz.html b/reference/grViz.html index 623b34de..4f29980f 100644 --- a/reference/grViz.html +++ b/reference/grViz.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/grVizOutput.html b/reference/grVizOutput.html index eb50061c..30a71ab7 100644 --- a/reference/grVizOutput.html +++ b/reference/grVizOutput.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/import_graph.html b/reference/import_graph.html index 844ff0dd..b2e140d6 100644 --- a/reference/import_graph.html +++ b/reference/import_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/index.html b/reference/index.html index db0ba182..12ee906e 100644 --- a/reference/index.html +++ b/reference/index.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/invert_selection.html b/reference/invert_selection.html index 2e1def49..edb4148e 100644 --- a/reference/invert_selection.html +++ b/reference/invert_selection.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_edge_loop.html b/reference/is_edge_loop.html index 051540b9..7b374440 100644 --- a/reference/is_edge_loop.html +++ b/reference/is_edge_loop.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_edge_multiple.html b/reference/is_edge_multiple.html index c63979f2..83c55fa8 100644 --- a/reference/is_edge_multiple.html +++ b/reference/is_edge_multiple.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_edge_mutual.html b/reference/is_edge_mutual.html index b6ddf8eb..54167807 100644 --- a/reference/is_edge_mutual.html +++ b/reference/is_edge_mutual.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_edge_present.html b/reference/is_edge_present.html index 453dfee4..41fcd8ea 100644 --- a/reference/is_edge_present.html +++ b/reference/is_edge_present.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_connected.html b/reference/is_graph_connected.html index bfc53eb4..d1c9afca 100644 --- a/reference/is_graph_connected.html +++ b/reference/is_graph_connected.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_dag.html b/reference/is_graph_dag.html index 597f16c8..4f6e2fc8 100644 --- a/reference/is_graph_dag.html +++ b/reference/is_graph_dag.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_directed.html b/reference/is_graph_directed.html index 318c5384..76fd8719 100644 --- a/reference/is_graph_directed.html +++ b/reference/is_graph_directed.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_empty.html b/reference/is_graph_empty.html index ed4a226a..5cb2aa69 100644 --- a/reference/is_graph_empty.html +++ b/reference/is_graph_empty.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_simple.html b/reference/is_graph_simple.html index 463daddd..3de3bee8 100644 --- a/reference/is_graph_simple.html +++ b/reference/is_graph_simple.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_undirected.html b/reference/is_graph_undirected.html index e91be7da..0b609e19 100644 --- a/reference/is_graph_undirected.html +++ b/reference/is_graph_undirected.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_graph_weighted.html b/reference/is_graph_weighted.html index 2f8bb767..e09bfd15 100644 --- a/reference/is_graph_weighted.html +++ b/reference/is_graph_weighted.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_node_present.html b/reference/is_node_present.html index f5b2eb04..646b9279 100644 --- a/reference/is_node_present.html +++ b/reference/is_node_present.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/is_property_graph.html b/reference/is_property_graph.html index 47a4c091..c6f0135d 100644 --- a/reference/is_property_graph.html +++ b/reference/is_property_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/join_edge_attrs.html b/reference/join_edge_attrs.html index c19f26a3..752df7a0 100644 --- a/reference/join_edge_attrs.html +++ b/reference/join_edge_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/join_node_attrs.html b/reference/join_node_attrs.html index 4c448d5e..cbdfd80a 100644 --- a/reference/join_node_attrs.html +++ b/reference/join_node_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/layout_nodes_w_string.html b/reference/layout_nodes_w_string.html index 48deebfa..0d183ce1 100644 --- a/reference/layout_nodes_w_string.html +++ b/reference/layout_nodes_w_string.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/mermaid.html b/reference/mermaid.html index f0a2f5c8..901a87de 100644 --- a/reference/mermaid.html +++ b/reference/mermaid.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/mutate_edge_attrs.html b/reference/mutate_edge_attrs.html index 14603c32..27682d70 100644 --- a/reference/mutate_edge_attrs.html +++ b/reference/mutate_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/mutate_edge_attrs_ws.html b/reference/mutate_edge_attrs_ws.html index d6a3072d..9a09a78d 100644 --- a/reference/mutate_edge_attrs_ws.html +++ b/reference/mutate_edge_attrs_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/mutate_node_attrs.html b/reference/mutate_node_attrs.html index 7f96b64f..4626dd4a 100644 --- a/reference/mutate_node_attrs.html +++ b/reference/mutate_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/mutate_node_attrs_ws.html b/reference/mutate_node_attrs_ws.html index a51c50ba..426941c8 100644 --- a/reference/mutate_node_attrs_ws.html +++ b/reference/mutate_node_attrs_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/node_aes.html b/reference/node_aes.html index f2d32773..16f0495a 100644 --- a/reference/node_aes.html +++ b/reference/node_aes.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/node_data.html b/reference/node_data.html index c0ce4681..1425b5a7 100644 --- a/reference/node_data.html +++ b/reference/node_data.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/node_edge_aes_data.html b/reference/node_edge_aes_data.html index 5fa6bdc5..4edbf9b8 100644 --- a/reference/node_edge_aes_data.html +++ b/reference/node_edge_aes_data.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/node_list_1.html b/reference/node_list_1.html index 19d1b3be..575509a3 100644 --- a/reference/node_list_1.html +++ b/reference/node_list_1.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/node_list_2.html b/reference/node_list_2.html index 4490e2da..3d750bab 100644 --- a/reference/node_list_2.html +++ b/reference/node_list_2.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/nudge_node_positions_ws.html b/reference/nudge_node_positions_ws.html index b989c4ee..f49e3236 100644 --- a/reference/nudge_node_positions_ws.html +++ b/reference/nudge_node_positions_ws.html @@ -36,7 +36,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/open_graph.html b/reference/open_graph.html index 088ff0b3..f9a926eb 100644 --- a/reference/open_graph.html +++ b/reference/open_graph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/pipe.html b/reference/pipe.html index 6c73967d..44eb75c1 100644 --- a/reference/pipe.html +++ b/reference/pipe.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/print.dgr_graph.html b/reference/print.dgr_graph.html index fd564670..333d5786 100644 --- a/reference/print.dgr_graph.html +++ b/reference/print.dgr_graph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/recode_edge_attrs.html b/reference/recode_edge_attrs.html index d1582e4d..f08d1b39 100644 --- a/reference/recode_edge_attrs.html +++ b/reference/recode_edge_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/recode_node_attrs.html b/reference/recode_node_attrs.html index e0cd1367..8d936725 100644 --- a/reference/recode_node_attrs.html +++ b/reference/recode_node_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/remove_graph_from_graph_series.html b/reference/remove_graph_from_graph_series.html index 924deb74..2d5ce9af 100644 --- a/reference/remove_graph_from_graph_series.html +++ b/reference/remove_graph_from_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -125,8 +125,8 @@ Examplesseries %>% get_graph_series_info() #> graph name date_time tz nodes edges directed -#> 1 1 graph_mkRJxXyq 2024-02-03 18:44:55 UTC 4 3 TRUE -#> 2 2 graph_ySz3BP7j 2024-02-03 18:44:55 UTC 6 5 TRUE +#> 1 1 graph_mkRJxXyq 2024-02-03 18:48:16 UTC 4 3 TRUE +#> 2 2 graph_ySz3BP7j 2024-02-03 18:48:16 UTC 6 5 TRUE diff --git a/reference/rename_edge_attrs.html b/reference/rename_edge_attrs.html index 3c2b5daa..51424470 100644 --- a/reference/rename_edge_attrs.html +++ b/reference/rename_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/rename_node_attrs.html b/reference/rename_node_attrs.html index 1703b423..314a799e 100644 --- a/reference/rename_node_attrs.html +++ b/reference/rename_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/renderDiagrammeR.html b/reference/renderDiagrammeR.html index 28f96d38..33900643 100644 --- a/reference/renderDiagrammeR.html +++ b/reference/renderDiagrammeR.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/renderGrViz.html b/reference/renderGrViz.html index f1dc86c0..4d1bf8e7 100644 --- a/reference/renderGrViz.html +++ b/reference/renderGrViz.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/render_graph.html b/reference/render_graph.html index 4dc8579d..c522cbae 100644 --- a/reference/render_graph.html +++ b/reference/render_graph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/render_graph_from_graph_series.html b/reference/render_graph_from_graph_series.html index 4d8ef583..e19b9390 100644 --- a/reference/render_graph_from_graph_series.html +++ b/reference/render_graph_from_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/reorder_graph_actions.html b/reference/reorder_graph_actions.html index 549a8bd6..1979e088 100644 --- a/reference/reorder_graph_actions.html +++ b/reference/reorder_graph_actions.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/replace_in_spec.html b/reference/replace_in_spec.html index f638514f..6ad51030 100644 --- a/reference/replace_in_spec.html +++ b/reference/replace_in_spec.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/rescale_edge_attrs.html b/reference/rescale_edge_attrs.html index 69a39abd..a893f896 100644 --- a/reference/rescale_edge_attrs.html +++ b/reference/rescale_edge_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/rescale_node_attrs.html b/reference/rescale_node_attrs.html index 731552a5..2c19308f 100644 --- a/reference/rescale_node_attrs.html +++ b/reference/rescale_node_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/rev_edge_dir.html b/reference/rev_edge_dir.html index 21061bd5..e4f69d8c 100644 --- a/reference/rev_edge_dir.html +++ b/reference/rev_edge_dir.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/rev_edge_dir_ws.html b/reference/rev_edge_dir_ws.html index 96bf3b76..2acacc9d 100644 --- a/reference/rev_edge_dir_ws.html +++ b/reference/rev_edge_dir_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/save_graph.html b/reference/save_graph.html index d1bed3a4..6ace6ffb 100644 --- a/reference/save_graph.html +++ b/reference/save_graph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_edges.html b/reference/select_edges.html index 99230ca2..5c8f5fb2 100644 --- a/reference/select_edges.html +++ b/reference/select_edges.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_edges_by_edge_id.html b/reference/select_edges_by_edge_id.html index e11d2b6a..a35851fd 100644 --- a/reference/select_edges_by_edge_id.html +++ b/reference/select_edges_by_edge_id.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_edges_by_node_id.html b/reference/select_edges_by_node_id.html index f42767dd..821901ea 100644 --- a/reference/select_edges_by_node_id.html +++ b/reference/select_edges_by_node_id.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_last_edges_created.html b/reference/select_last_edges_created.html index 5b68593c..1f674d37 100644 --- a/reference/select_last_edges_created.html +++ b/reference/select_last_edges_created.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_last_nodes_created.html b/reference/select_last_nodes_created.html index d243b6dd..46aec5d0 100644 --- a/reference/select_last_nodes_created.html +++ b/reference/select_last_nodes_created.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_nodes.html b/reference/select_nodes.html index 4ed7e933..def0f22f 100644 --- a/reference/select_nodes.html +++ b/reference/select_nodes.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_nodes_by_degree.html b/reference/select_nodes_by_degree.html index 9fec2f6a..dcc85bb8 100644 --- a/reference/select_nodes_by_degree.html +++ b/reference/select_nodes_by_degree.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_nodes_by_id.html b/reference/select_nodes_by_id.html index 4204d98a..a2c70f27 100644 --- a/reference/select_nodes_by_id.html +++ b/reference/select_nodes_by_id.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/select_nodes_in_neighborhood.html b/reference/select_nodes_in_neighborhood.html index 13b73ac2..ac3fdcc2 100644 --- a/reference/select_nodes_in_neighborhood.html +++ b/reference/select_nodes_in_neighborhood.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_cache.html b/reference/set_cache.html index 30c78110..1b70da93 100644 --- a/reference/set_cache.html +++ b/reference/set_cache.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_edge_attr_to_display.html b/reference/set_edge_attr_to_display.html index 74428ecd..f6c0071d 100644 --- a/reference/set_edge_attr_to_display.html +++ b/reference/set_edge_attr_to_display.html @@ -24,7 +24,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_edge_attrs.html b/reference/set_edge_attrs.html index 1f210aec..a14e2822 100644 --- a/reference/set_edge_attrs.html +++ b/reference/set_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_edge_attrs_ws.html b/reference/set_edge_attrs_ws.html index 377d14fc..46902a42 100644 --- a/reference/set_edge_attrs_ws.html +++ b/reference/set_edge_attrs_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_graph_directed.html b/reference/set_graph_directed.html index d8423ce4..14abec94 100644 --- a/reference/set_graph_directed.html +++ b/reference/set_graph_directed.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_graph_name.html b/reference/set_graph_name.html index ee743538..0eaf223b 100644 --- a/reference/set_graph_name.html +++ b/reference/set_graph_name.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_graph_time.html b/reference/set_graph_time.html index 9f1bbc1b..dfaf6564 100644 --- a/reference/set_graph_time.html +++ b/reference/set_graph_time.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_graph_undirected.html b/reference/set_graph_undirected.html index d123afe5..051fd1a2 100644 --- a/reference/set_graph_undirected.html +++ b/reference/set_graph_undirected.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_node_attr_to_display.html b/reference/set_node_attr_to_display.html index be29b37a..a4cc4bd2 100644 --- a/reference/set_node_attr_to_display.html +++ b/reference/set_node_attr_to_display.html @@ -24,7 +24,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_node_attr_w_fcn.html b/reference/set_node_attr_w_fcn.html index 838b0fc9..0b2c06ab 100644 --- a/reference/set_node_attr_w_fcn.html +++ b/reference/set_node_attr_w_fcn.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_node_attrs.html b/reference/set_node_attrs.html index 36dafa31..868ba2ba 100644 --- a/reference/set_node_attrs.html +++ b/reference/set_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_node_attrs_ws.html b/reference/set_node_attrs_ws.html index edeb6f6b..956d6f52 100644 --- a/reference/set_node_attrs_ws.html +++ b/reference/set_node_attrs_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/set_node_position.html b/reference/set_node_position.html index ee90eb40..16becd7b 100644 --- a/reference/set_node_position.html +++ b/reference/set_node_position.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/to_igraph.html b/reference/to_igraph.html index 2f6e134f..38112f58 100644 --- a/reference/to_igraph.html +++ b/reference/to_igraph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -106,7 +106,7 @@ Examples# Get a summary of the igraph # graph object summary(ig_graph) -#> IGRAPH 2ed6f34 DN-B 36 50 -- +#> IGRAPH bc2a283 DN-B 36 50 -- #> + attr: name (v/c), type (v/c), label (v/c), rel (e/c) diff --git a/reference/transform_to_complement_graph.html b/reference/transform_to_complement_graph.html index d32d8a57..a3f55e2b 100644 --- a/reference/transform_to_complement_graph.html +++ b/reference/transform_to_complement_graph.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/transform_to_min_spanning_tree.html b/reference/transform_to_min_spanning_tree.html index 2c8bf08b..413b2d95 100644 --- a/reference/transform_to_min_spanning_tree.html +++ b/reference/transform_to_min_spanning_tree.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/transform_to_subgraph_ws.html b/reference/transform_to_subgraph_ws.html index 82803fe9..7aef1200 100644 --- a/reference/transform_to_subgraph_ws.html +++ b/reference/transform_to_subgraph_ws.html @@ -40,7 +40,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_both.html b/reference/trav_both.html index 1920990e..63eabf53 100644 --- a/reference/trav_both.html +++ b/reference/trav_both.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_both_edge.html b/reference/trav_both_edge.html index fe8084bf..f86105b4 100644 --- a/reference/trav_both_edge.html +++ b/reference/trav_both_edge.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_in.html b/reference/trav_in.html index d611c899..24278a9d 100644 --- a/reference/trav_in.html +++ b/reference/trav_in.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_in_edge.html b/reference/trav_in_edge.html index 7e83ec4e..1e7bbdfd 100644 --- a/reference/trav_in_edge.html +++ b/reference/trav_in_edge.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_in_node.html b/reference/trav_in_node.html index db1135c7..59a2f201 100644 --- a/reference/trav_in_node.html +++ b/reference/trav_in_node.html @@ -34,7 +34,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_in_until.html b/reference/trav_in_until.html index 9bb96202..206cee7d 100644 --- a/reference/trav_in_until.html +++ b/reference/trav_in_until.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_out.html b/reference/trav_out.html index ed580ac2..e8090669 100644 --- a/reference/trav_out.html +++ b/reference/trav_out.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_out_edge.html b/reference/trav_out_edge.html index 411e4a4e..763d9608 100644 --- a/reference/trav_out_edge.html +++ b/reference/trav_out_edge.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_out_node.html b/reference/trav_out_node.html index 02570fa0..4a4323b5 100644 --- a/reference/trav_out_node.html +++ b/reference/trav_out_node.html @@ -34,7 +34,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_out_until.html b/reference/trav_out_until.html index 8d36d4d5..682b5f75 100644 --- a/reference/trav_out_until.html +++ b/reference/trav_out_until.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trav_reverse_edge.html b/reference/trav_reverse_edge.html index 89232bfe..a4f72061 100644 --- a/reference/trav_reverse_edge.html +++ b/reference/trav_reverse_edge.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/trigger_graph_actions.html b/reference/trigger_graph_actions.html index 198fb2a0..83bce4e1 100644 --- a/reference/trigger_graph_actions.html +++ b/reference/trigger_graph_actions.html @@ -20,7 +20,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/usd_exchange_rates.html b/reference/usd_exchange_rates.html index f2b7b031..a45b5a4f 100644 --- a/reference/usd_exchange_rates.html +++ b/reference/usd_exchange_rates.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/visnetwork.html b/reference/visnetwork.html index e7125846..742da93c 100644 --- a/reference/visnetwork.html +++ b/reference/visnetwork.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/x11_hex.html b/reference/x11_hex.html index be7ea186..72a51c4d 100644 --- a/reference/x11_hex.html +++ b/reference/x11_hex.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/search.json b/search.json index 987b7f68..250fd549 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement riannone@.com. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired [Mozilla’s code conduct enforcement ladder][https://github.com/mozilla/inclusion]. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2014-2023 DiagrammeR authors Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"graphviz","dir":"Articles","previous_headings":"","what":"Graphviz","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz support integral part DiagrammeR package. Graphviz consists graph description language called DOT language also comprises various tools can process DOT language. DOT highly customizable allows control line colors, arrow shapes, node shapes, many layout features.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"diagrammer-implementation","dir":"Articles","previous_headings":"","what":"DiagrammeR Implementation","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz graphs, DiagrammeR uses processing function called grViz(). pass grViz() valid graph specification DOT language. DOT graph description can either delivered grViz() form string, reference Graphviz file (.gv file extension), text connection. code examples provided later sections call grViz() function R script pass graph description string. important consider strings R contain unescaped double-quote characters. However, grViz() function allows single-quote characters place. convenience, DOT graph description supplied file (e.g., dot-graph.gv) text connection, either format quotes accepted. recent builds RStudio, use external text file .gv file extension can provide advantage syntax coloring previewing RStudio Viewer pane saving ('Preview Save' selected), , pressing 'Preview' button Source pane.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"defining-a-graphviz-graph","dir":"Articles","previous_headings":"","what":"Defining a Graphviz Graph","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz graph specification must begin directive stating whether directed graph (digraph) undirected graph (graph) desired. Semantically, indicates whether natural direction one edge’s nodes . optional graph ID follows paired curly braces denotes body statement list (stmt_list). Optionally, graph may also described strict. forbids creation multi-edges (.e., can one edge given tail node head node directed case). undirected graphs, can one edge connected two nodes. Subsequent edge statements using two nodes identify edge previously defined one apply attributes given edge statement. basic structure:","code":"[strict] (graph | digraph) [ID] '{' stmt_list '}'"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"statements","dir":"Articles","previous_headings":"","what":"Statements","title":"Graphviz and mermaid in DiagrammeR","text":"graph statement (graph_stmt), node statement (node_stmt), edge statement (edge_stmt) three commonly used statements Graphviz DOT language. Graph statements allow attributes set components graph. Node statements define provide attributes graph nodes. Edge statements specify edge operations nodes supply attributes edges. edge operations, directed graph must specify edge using edge operator -> undirected graph must use -- operator. Within statements follow statement lists. Thus node statement, list nodes expected. edge statement, list edge operations. list items can optionally attribute list (attr_list) modify attributes either node edge. Comments may placed within statement list. can marked using // /* */ structure. Comment lines denoted # character. Multiple statements within statement list can separated linebreaks ; characters multiple statements example nodes (case styled boxes circles) can easily defined along connections:","code":"grViz(\" digraph boxes_and_circles { # a 'graph' statement graph [overlap = true, fontsize = 10] # several 'node' statements node [shape = box, fontname = Helvetica] A; B; C; D; E; F node [shape = circle, fixedsize = true, width = 0.9] // sets as circles 1; 2; 3; 4; 5; 6; 7; 8 # several 'edge' statements A->1 B->2 B->3 B->4 C->A 1->D E->A 2->4 1->5 1->F E->6 4->6 5->7 6->7 3->8 } \")"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"subgraphs-and-clusters","dir":"Articles","previous_headings":"","what":"Subgraphs and Clusters","title":"Graphviz and mermaid in DiagrammeR","text":"Subgraphs play three roles Graphviz. First, subgraph can used represent graph structure, indicating certain nodes edges grouped together. usual role subgraphs typically specifies semantic information graph components. can also provide convenient shorthand edges. edge statement allows subgraph left right sides edge operator. occurs, edge created every node left every node right. example, specification equivalent second role, subgraph can provide context setting attributes. example, subgraph specify blue default color nodes defined . context graph drawing, interesting example anonymous subgraph specifies nodes , B, C placed rank. third role subgraphs directly involves graph laid certain layout types. name subgraph begins cluster, Graphviz notes subgraph special cluster subgraph. supported, layout make nodes belonging cluster drawn together, entire drawing cluster contained within bounding rectangle.","code":"A -> {B C} A -> B A -> C subgraph { rank = same; A; B; C; }"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"graphviz-attributes","dir":"Articles","previous_headings":"","what":"Graphviz Attributes","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz attributes allow style Graphviz graph. Combinations attributes nodes, edges, clusters, entire graph provide highly-customized layouts.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"node-attributes","dir":"Articles","previous_headings":"Graphviz Attributes","what":"Node Attributes","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz attributes specified name-value pairs. Thus, set fillcolor node abc, one use lots node attributes. following provides visual guide notable ones.","code":"abc [fillcolor = red]"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"edge-attributes","dir":"Articles","previous_headings":"Graphviz Attributes","what":"Edge Attributes","title":"Graphviz and mermaid in DiagrammeR","text":"Edge attributes set way node attributes. example, set arrowhead style edge abc -> def, one use Quotation marks important multiword attributes, might used label attribute. Refer following important edge attributes","code":"abc -> def [arrowhead = diamond]"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"colors","dir":"Articles","previous_headings":"Graphviz Attributes","what":"Colors","title":"Graphviz and mermaid in DiagrammeR","text":"default, Graphviz can use colors provided hexadecimal values, , X11 color names. following provides entire list X11 color names. colors additional 4-color palettes based named color. additional colors can used appending digits 1-4 color name. Gray (grey) variations 0-100. Please note , color names, gray interchangeable grey.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"node-shapes","dir":"Articles","previous_headings":"Graphviz Attributes","what":"Node Shapes","title":"Graphviz and mermaid in DiagrammeR","text":"’s shortage shapes available nodes. Nodes can changed default ellipse shape using shape parameter. table provides listing possible node shapes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"arrow-shapes","dir":"Articles","previous_headings":"Graphviz Attributes","what":"Arrow Shapes","title":"Graphviz and mermaid in DiagrammeR","text":"shapes arrows highly customizable. defining edge, arrowhead parameter allows change style arrowhead default normal arrow shape, one several others. arrowhead types used.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"graphviz-substitution","dir":"Articles","previous_headings":"","what":"Graphviz Substitution","title":"Graphviz and mermaid in DiagrammeR","text":"Graphviz substitution allows mixing R expressions Graphviz DOT graph specification without sacrificing readability.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"how-it-works","dir":"Articles","previous_headings":"Graphviz Substitution","what":"How It Works","title":"Graphviz and mermaid in DiagrammeR","text":"take advantage substitution rendering graph, simply use grViz() function Graphviz DOT code: notation @@ within GraphViz DOT graph specification indicate substitution take place. Corresponding R expressions (formal graph specification, styled footnotes) provide values substituted. grViz() function autodetect whether working Graphviz DOT graph specification contains @@s curly braces [graph|digraph] {...} DOT construction. specify substitution @@, must ensure valid expression substitution. expressions placed footnotes evaluations must result R vector object (.e., data frame, list, matrix). possibility multiple substitutions, numbering required. Thus, @@ notation immediately followed number number correspond number footnoted R expression. substitution construction : Importantly, footnote expressions reside closing curly brace graph digraph expression. always take form : simple example specifying single node, following substitution syntax used: example, [1]: footnote expression evaluates '', , ’s substituted place @@1 (resultant , turn, taken node ID). Substitutions can also used insert values vector indices graph specification. Simply use format: ’s example specific values vectors can inserted graph: evaluation footnote expressions substitution, graph specification becomes :","code":"grViz(\" [...graph spec with substitutions using @@ notation and footnote R expressions...] \") \"@@\" + [footnote number] \"[\" + [footnote number] + \"]:\" digraph { @@1 } [1]: 'a' \"@@\" + [footnote number] + \"-\" + [index number] digraph alpha { @@1-1; @@1-2; @@1-3; @@1-4; @@1-5 @@1-6; @@1-7; @@1-8; @@1-9; @@1-10 } [1]: LETTERS digraph alpha { A; B; C; D; E F; G; H; I; J }"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/graphviz-mermaid.html","id":"examples","dir":"Articles","previous_headings":"Graphviz Substitution","what":"Examples","title":"Graphviz and mermaid in DiagrammeR","text":"best way demonstrate substitution works set examples. example substituting alphabet letters R’s LETTERS constant Graphviz graph specification. can mix substitutions single-values objects specifying indices R vector objects. example: can seen output: node ID given label “top” (substituting @@1 expression [1]: footnote R expression) nodes ID values b j respectively provided values indices 1 9 (using hyphenated form @@) evaluated expression 10:20 ([2]: footnote expression) Footnote expressions meant flexible. can span multiple lines, can also take objects available global workspace. , long vector object results evaluation, substitution can performed.","code":"grViz(\" digraph a_nice_graph { # node definitions with substituted label text node [fontname = Helvetica] a [label = '@@1'] b [label = '@@2-1'] c [label = '@@2-2'] d [label = '@@2-3'] e [label = '@@2-4'] f [label = '@@2-5'] g [label = '@@2-6'] h [label = '@@2-7'] i [label = '@@2-8'] j [label = '@@2-9'] # edge definitions with the node IDs a -> {b c d e f g h i j} } [1]: 'top' [2]: 10:20 \")"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/node-edge-data-frames.html","id":"node-and-edge-data-frames","dir":"Articles","previous_headings":"","what":"Node and Edge Data Frames","title":"Node and Edge Data Frames","text":"functions used create manipulate specialized data frames: node data frames (NDFs) edge data frames (EDFs). functions useful one can selectively add field data data frames combine necessary addition graph object.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/node-edge-data-frames.html","id":"creating-an-ndf","dir":"Articles","previous_headings":"","what":"Creating an NDF","title":"Node and Edge Data Frames","text":"create_node_df() function, one can create node data frame (NDF) nodes attributes. object really just R data.frame object. cases, ’s recommended use create_node_df() instead data.frame() (, .data.frame()) create NDF. Using create_node_df() allows validation input data (integrity graph compromised) function provides additional functionality base R functions data frame creation : single values repeated n number nodes supplied selective setting attributes (e.g., giving attr values 3 10 nodes, allowing non-set nodes use defaults globally set attr values) supplying overlong vectors attributes result trimming number nodes setting label = FALSE conveniently result non-labeled node function one argument requires values supplied: nodes argument. Just supplying set unique ID values nodes create NDF nodes additional attributes. incorporated graph, NDF parsed column names match keywords node attributes indicate DiagrammeR values columns provide attribute values per-node basis. Columns names don’t match reserved attribute names disregarded , , can include columns useful data analysis. creating node data frame, one column named nodes created (first column NDF). ’s unique values node ID reside. attribute columns, type label columns also created. However, necessarily need populated values thus can left blank, desired. attributes voluntarily added named vectors R triple-dot (...) argument. node attribute names types values supply: color — provide X11 hexadecimal color (append 2 digits hex alpha) distortion — node distortion shape = polygon fillcolor — provide X11 hexadecimal color (append 2 digits hex alpha) fixedsize — true false fontcolor — provide X11 hexadecimal color (append 2 digits hex alpha) fontname — name font fontsize — size font node label height — height node penwidth — thickness stroke shape peripheries — number peripheries (essentially, additional shape outlines) shape — node shape (e.g., ellipse, polygon, circle, etc.) sides — shape = polygon, number sides can provided style — usually given value filled ’d like fill node color tooltip — provide text unstyled browser tooltip width — width node x — x position node (requires graph attr layout = neato use) y — y position node (requires graph attr layout = neato use) following examples, node data frames created. worthwhile things notice . nodes can supplied character vector (c(\"\", \"b\", \"c\", \"d\")), , range integers (1:4). may matter preference, numbering system seems better choice (functions available package take advantage graph ID values available monotonically increasing integer values). Secondly, single logical value can supplied label argument, TRUE copies node ID label attribute, FALSE yields blank, unset value nodes NDF. Finally, provision single values call creates single node result nodes attribute (e.g., color = \"aqua\" sets nodes NDF ‘aqua’ color).","code":"# Create a node data frame nodes_1 <- create_node_df( n = 4, type = \"lower\", label = c(\"a\", \"b\", \"c\", \"d\"), style = \"filled\", color = \"aqua\", shape = c(\"circle\", \"circle\", \"rectangle\", \"rectangle\"), data = c(3.5, 2.6, 9.4, 2.7)) # Inspect the `nodes_1` NDF nodes_1 #> id type label style color shape data #> 1 1 lower a filled aqua circle 3.5 #> 2 2 lower b filled aqua circle 2.6 #> 3 3 lower c filled aqua rectangle 9.4 #> 4 4 lower d filled aqua rectangle 2.7 # Create another node data frame nodes_2 <- create_node_df( n = 4, type = \"upper\", label = TRUE, style = \"filled\", color = \"red\", shape = \"triangle\", data = c(0.5, 3.9, 3.7, 8.2)) # Inspect the `nodes_2` NDF nodes_2 #> id type label style color shape data #> 1 1 upper 1 filled red triangle 0.5 #> 2 2 upper 2 filled red triangle 3.9 #> 3 3 upper 3 filled red triangle 3.7 #> 4 4 upper 4 filled red triangle 8.2"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/node-edge-data-frames.html","id":"creating-an-edf","dir":"Articles","previous_headings":"","what":"Creating an EDF","title":"Node and Edge Data Frames","text":"Using create_edge_df() function, edge data frame (EDF) (comprising edges attributes) created. create_node_df() function, resulting object R data.frame object. usual means creating data frames used create EDF, create_edge_df() function provides conveniences validation final object (e.g., checking uniqueness supplied node ID values). Also, special attribute edge called rel, short relationship. optional attribute, , can left blank. However, ’s advantageous types group labels set edges, especially resulting graph fashioned property graph. (node type values must also set node model graph property graph.) Edges define connections nodes graph. , sense, edge data frame complementary component node data frame within graph. Therefore, EDF contains node ID information two columns named . , making edge data frame, two equal-length vectors need supplied create_edge_df() function: one outgoing node edge (), , another incoming node edge (). two columns contain node ID values. node data frame, attributes can provided edges. following edge attributes can used: arrowhead — arrow style head end (e.g, normal, dot) arrowsize — scaling factor arrowhead arrowtail arrowtail — arrow style tail end (e.g, normal, dot) color — stroke color; X11 color hex code (add 2 digits alpha) dir — direction; either forward, back, , none fontcolor — choose X11 color provide hex code (append 2 digits alpha) fontname — name font fontsize — size font node label headport — cardinal direction arrowhead meets node label — label text line nodes minlen — minimum rank distance head tail penwidth — thickness stroke arrow tailport — cardinal direction tail emitted node tooltip — provide text edge tooltip examples edge data frames can created:","code":"# Create an edge data frame edges_1 <- create_edge_df( from = c(1, 1, 2, 3), to = c(2, 4, 4, 1), rel = \"requires\", color = \"green\", data = c(2.7, 8.9, 2.6, 0.6)) edges_1 #> id from to rel color data #> 1 1 1 2 requires green 2.7 #> 2 2 1 4 requires green 8.9 #> 3 3 2 4 requires green 2.6 #> 4 4 3 1 requires green 0.6 # Create another edge data frame edges_2 <- create_edge_df( from = c(5, 7, 8, 8), to = c(8, 8, 6, 5), rel = \"receives\", arrowhead = \"dot\", color = \"red\") edges_2 #> id from to rel arrowhead color #> 1 1 5 8 receives dot red #> 2 2 7 8 receives dot red #> 3 3 8 6 receives dot red #> 4 4 8 5 receives dot red"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/node-edge-data-frames.html","id":"combining-ndfs","dir":"Articles","previous_headings":"","what":"Combining NDFs","title":"Node and Edge Data Frames","text":"Several node data frames (NDFs) can combined one using combine_ndfs() function. can combine two NDFs single call combine_ndfs(), , combine even single pass. may occasion combine several NDFs single node data frame. combine_ndfs() function works much like base R rbind() function except accepts NDFs columns differing number, names, ordering. Obtaining several node data frames may result collecting data various sources, different times (collected data different), , simply multiple calls create_node_df() practical readability purposes, name examples. Speaking examples:","code":"# Create an NDF nodes_1 <- create_node_df( n = 4, label = 1:4, type = \"lower\", data = c(8.2, 5.2, 1.2, 14.9)) # Create another NDF nodes_2 <- create_node_df( n = 4, label = 5:8, type = \"upper\", data = c(0.3, 6.3, 10.7, 1.2)) # Combine the NDFs all_nodes <- combine_ndfs(nodes_1, nodes_2) all_nodes #> id type label data #> 1 1 lower 1 8.2 #> 2 2 lower 2 5.2 #> 3 3 lower 3 1.2 #> 4 4 lower 4 14.9 #> 5 5 upper 5 0.3 #> 6 6 upper 6 6.3 #> 7 7 upper 7 10.7 #> 8 8 upper 8 1.2"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/node-edge-data-frames.html","id":"combining-edfs","dir":"Articles","previous_headings":"","what":"Combining EDFs","title":"Node and Edge Data Frames","text":"may cases one might take data one data frames create multiple edge data frames. One can combine multiple edge data frames (EDFs) combine_edfs() function. number EDFs can safely combined one call function. , advantageous use combining function purpose coalescing EDFs. single, combined EDF generated, much easier incorporate data DiagrammeR graph object.","code":"# Create an edge data frame edges_1 <- create_edge_df( from = c(1, 1, 2, 3), to = c(2, 4, 4, 1), rel = \"requires\", color = \"green\", data = c(2.7, 8.9, 2.6, 0.6)) # Create another edge data frame edges_2 <- create_edge_df( from = c(5, 7, 8, 8), to = c(8, 8, 6, 5), rel = \"receives\", arrowhead = \"dot\", color = \"red\") # Combine edge data frames with 'combine_edfs' all_edges <- combine_edfs(edges_1, edges_2) all_edges #> id from to rel color data arrowhead #> 1 1 1 2 requires green 2.7 #> 2 2 1 4 requires green 8.9 #> 3 3 2 4 requires green 2.6 #> 4 4 3 1 requires green 0.6 #> 5 5 5 8 receives red NA dot #> 6 6 7 8 receives red NA dot #> 7 7 8 6 receives red NA dot #> 8 8 8 5 receives red NA dot"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/selections.html","id":"creating-a-node-selection","dir":"Articles","previous_headings":"","what":"Creating a Node Selection","title":"Selections","text":"Selecting nodes graph accomplished targeting specific node attribute (e.g., type, label, styling attributes width, available, arbitrary data values available nodes). select_*() functions, graph argument first function signature. beneficial forward-piping graph pipeline propagating series transformations graph. may situations several types selections applied graphs nodes edges (say, selecting nodes graph first step subtracting nodes specific type group) pipeline paradigm becomes incredibly useful, , added bonus, easy read reason . main handle selectivity select_nodes() function node attributes graph’s internal NDF, contains columns possible node attributes graph. providing expression conditions, nodes placed active selection TRUE. two common types expressions work well conditions argument: logical expression comparison operator (>, <, ==, !=) regular expression filtering via string matching Let’s create simple graph four nodes numeric data values. , ’ll inspect graph’s internal NDF see starting . first example, nodes selected based logical expression operating collection numeric values. examine result selection, get_node_df_ws() used. function display table active selection nodes graph (like get_node_df(), subset nodes). selection nodes can obtained match using regular expression operating collection character-based values (node attribute named fruits). uses grepl() function expression supplied conditions. regular expression use ^ap, ^ denotes beginning text parsed. situation may arise specialized match needs made (.e., matching , , matching two different types things). set_op argument can become useful. selection nodes obtained using select_nodes() (select_*() functions operate nodes), selection stored graph object. seen examples get_selection() used verify nodes selection. selection retained (least clear_selection() called, , selection edges made), multiple uses select_nodes() can modify set selected nodes depending option provided set_op argument. set operations : union: creates union selected nodes consecutive operations create selection nodes (default option) intersect: modifies list selected nodes nodes common consecutive node selection operations retained difference: modifies list selected nodes nodes retained different second node selection operation compared first set operations behave exactly base R functions: union(), intersect()/intersection(), setdiff() (actually used internally). Furthermore, select_*() functions contain set_op argument, , behave way regard modifying node edge selection pipeline selection operations. examples important fully understanding can work complex selections, quite provided . example graph now bit complex. contain 9 nodes, three different types (fruit, veg, nut). label node attribute name food, count attribute contains arbitrary numeric values. Let’s successively use two select_nodes() calls select foods either begin c end e. set, use union set operation second call select_nodes(). conditions don’t need related. first , ’s matching expression using grepl(). second filtering nodes count < 5. following example contains pair select_nodes() statements, first filters nodes fruit group (type == \"fruit\") excludes subset nodes (fruit containing “apple” name) using set_op = \"difference\". additional filtering option available nodes argument. , vector node ID values can supplied indicate function subset nodes considered select_nodes(). Note , nothing provided conditions nodes given vector node ID values, nodes make selection function call. convenient often good method selecting nodes (long one knows node IDs need selected), function select_nodes_by_id() handles use case directly (filters based nodes argument). Let’s now perform call select_nodes() contains expression conditions argument, , range node ID values nodes argument.","code":"# Create a node data frame ndf <- create_node_df( n = 4, data = c( 9.7, 8.5, 2.2, 6.0) ) # Create a new graph based on the ndf graph <- create_graph(nodes_df = ndf) # Inspect the graph's NDF graph %>% get_node_df() #> id type label data #> 1 1 9.7 #> 2 2 8.5 #> 3 3 2.2 #> 4 4 6.0 # Select nodes where the `data` attribute # has a value greater than 7.0 (it's the # first 2 nodes) graph <- graph %>% select_nodes( conditions = data > 7.0 ) # Get the graph's current selection # of nodes as a table graph %>% get_node_df_ws() #> id type label data #> 1 1 9.7 #> 2 2 8.5 # Create a node data frame ndf <- create_node_df( n = 4, fruits = c( \"apples\", \"apricots\", \"bananas\", \"plums\") ) # Create a new graph based on the ndf graph <- create_graph(nodes_df = ndf) # Select nodes where the `fruits` # attribute has a match on the first # letters being `ap` (the first 2 nodes) graph <- graph %>% select_nodes( conditions = grepl(\"^ap\", fruits) ) # Get the graph's current selection # of nodes as a table graph %>% get_node_df_ws() #> id type label fruits #> 1 1 apples #> 2 2 apricots # Create a node data frame ndf <- create_node_df( n = 9, type = c( \"fruit\", \"fruit\", \"fruit\", \"veg\", \"veg\", \"veg\", \"nut\", \"nut\", \"nut\"), label = c( \"pineapple\", \"apple\", \"apricot\", \"cucumber\", \"celery\", \"endive\", \"hazelnut\", \"almond\", \"chestnut\"), count = c( 6, 3, 8, 7, 2, 6, 9, 9, 7) ) # Create a new graph based on the ndf graph <- create_graph(nodes_df = ndf) # Inspect the graph's NDF graph %>% get_node_df() #> id type label count #> 1 1 fruit pineapple 6 #> 2 2 fruit apple 3 #> 3 3 fruit apricot 8 #> 4 4 veg cucumber 7 #> 5 5 veg celery 2 #> 6 6 veg endive 6 #> 7 7 nut hazelnut 9 #> 8 8 nut almond 9 #> 9 9 nut chestnut 7 # Select all foods that either begin # with `c` or ending with `e` graph_1 <- graph %>% select_nodes( conditions = grepl(\"^c\", label) ) %>% select_nodes( conditions = grepl(\"e$\", label), set_op = \"union\" ) # Get the graph's current selection # of nodes as a table graph_1 %>% get_node_df_ws() #> id type label count #> 1 1 fruit pineapple 6 #> 2 2 fruit apple 3 #> 3 4 veg cucumber 7 #> 4 5 veg celery 2 #> 5 6 veg endive 6 #> 6 9 nut chestnut 7 # Select any food beginning with `a` and # having a count less than 5 graph_2 <- graph %>% select_nodes( conditions = grepl(\"^a\", label) ) %>% select_nodes( conditions = count < 5, set_op = \"intersect\" ) # Get the graph's current selection # of nodes as a table graph_2 %>% get_node_df_ws() #> id type label count #> 1 2 fruit apple 3 # Select any fruit not containing # `apple` in its name graph_3 <- graph %>% select_nodes( conditions = type == \"fruit\" ) %>% select_nodes( conditions = grepl(\"apple\", label), set_op = \"difference\" ) # Get the graph's current selection # of nodes as a table graph_3 %>% get_node_df_ws() #> id type label count #> 1 3 fruit apricot 8 # Create a node data frame ndf <- create_node_df( n = 10, data = seq(0.5, 5, 0.5) ) # Create a new graph based on the ndf graph <- create_graph(nodes_df = ndf) # Inspect the graph's NDF graph %>% get_node_df() #> id type label data #> 1 1 0.5 #> 2 2 1.0 #> 3 3 1.5 #> 4 4 2.0 #> 5 5 2.5 #> 6 6 3.0 #> 7 7 3.5 #> 8 8 4.0 #> 9 9 4.5 #> 10 10 5.0 # Select from a subset of nodes # (given as `nodes = 1:6`) where # the `data` value is greater than `1.5` graph <- graph %>% select_nodes( conditions = data > 1.5, nodes = 1:6 ) # Get the graph's current selection # of nodes as a table graph %>% get_node_df_ws() #> id type label data #> 1 4 2.0 #> 2 5 2.5 #> 3 6 3.0"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/selections.html","id":"creating-an-edge-selection","dir":"Articles","previous_headings":"","what":"Creating an Edge Selection","title":"Selections","text":"Selecting edges graph done manner quite similar selecting nodes. primary means targeting specific edges available edge attributes (e.g., rel, styling attributes color, arbitrary data values available edges). start creating graph four nodes four edges. edges edge attribute called data contains numeric values. following example shows create selections edges based logical expression operating collection numeric values data attribute.","code":"# Create a node data frame ndf <- create_node_df(n = 4) # Create an edge data frame edf <- create_edge_df( from = c(1, 2, 3, 4), to = c(2, 3, 4, 1), data = c( 8.6, 2.8, 6.3, 4.5) ) # Create a new graph from # the NDF and EDF graph <- create_graph( nodes_df = ndf, edges_df = edf ) # Inspect the graph's EDF graph %>% get_edge_df() #> id from to rel data #> 1 1 1 2 8.6 #> 2 2 2 3 2.8 #> 3 3 3 4 6.3 #> 4 4 4 1 4.5 # Select edges where the `data` # attribute has a value # greater than 5.0 graph <- graph %>% select_edges( conditions = data > 5.0 ) # Get the graph's current selection # of edges as a table graph %>% get_edge_df_ws() #> id from to rel data #> 1 1 1 2 8.6 #> 2 3 3 4 6.3"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/selections.html","id":"selecting-the-last-node-or-edge-in-an-ndf-or-edf","dir":"Articles","previous_headings":"","what":"Selecting the Last Node or Edge in an NDF or EDF","title":"Selections","text":"can select last node edge graph’s internal node data frame (NDF) internal edge data frame (EDF), respectively. Usually, last node edge created since new nodes edges added bottom data frame shuffling positions. Immediately creating single node edge, calling either select_last_node() select_last_edge() functions result selection last node edge created. functions, graph argument. provide graph object select_last_nodes_created() get active selection nodes (last nodes added graph object). Likewise, select_last_edges_created() create active selection edges, whichever edges last defined function call. begin, ’ll use graph ’ll clear active selection using clear_selection() function. ensure active selection nodes edges, can use get_selection() function. value NA means neither selection nodes edges. use select_last_nodes_created graph, find active selection nodes contains nodes graph, produced create_graph() function (nodes added subsequent operations). goes edges. Using select_last_edges_created() make selection edges includes edges graph. functions become useful building graph multiple steps. next example, start empty graph (using create_graph() ) add single node add_node(), select node select_last_nodes_created(). selection---pipeline approach makes easy set node attributes can use set_node_attrs_ws() function. example, ’re adding new timestamp attribute assigning value (system time). selection persistent, can set attributes calls set_node_attrs_ws(). done node selection, call clear_selection() function return clean slate active selection present (removes node edge selection graph object). example proceeds create another new node adding attributes, new edge edge attributes (set_edge_attrs_ws()). facilitated select_last_nodes_created() select_last_edges_created() functions. graph shows two nodes connected together. Nothing , nothing less. interesting views data node edge data frames, now several attributes set. Let’s look graph’s internal node data frame… …let’s inspect graph’s internal edge data frame. can seen, immediately invoking select_last_nodes_created() select_last_edges_created() addition new nodes edges can useful working newly made nodes/edges. Many functions ending _ws() operate specifically selections nodes edges.","code":"# Clear the graph's selection graph <- graph %>% clear_selection() # Check whether there is still # a selection present graph %>% get_selection() #> [1] NA # Select the last node in the graph's NDF and confirm # that the selection was made graph %>% select_last_nodes_created() %>% get_node_df_ws() #> id type label #> 1 1 #> 2 2 #> 3 3 #> 4 4 # Select the last edge in the graph's EDF and confirm # that the selection was made graph %>% select_last_edges_created() %>% get_edge_df_ws() #> id from to rel data #> 1 1 1 2 8.6 #> 2 2 2 3 2.8 #> 3 3 3 4 6.3 #> 4 4 4 1 4.5 # Create a graph, node-by-node and # edge-by-edge and add attributes graph_2 <- create_graph() %>% add_node() %>% select_last_nodes_created() %>% set_node_attrs_ws( node_attr = \"timestamp\", value = as.character(Sys.time()) ) %>% set_node_attrs_ws( node_attr = \"type\", value = \"A\" ) %>% clear_selection() %>% add_node() %>% select_last_nodes_created() %>% set_node_attrs_ws( node_attr = \"timestamp\", value = as.character(Sys.time()) ) %>% set_node_attrs_ws( node_attr = \"type\", value = \"B\" ) %>% add_edge( from = 1, to = 2, rel = \"AB\" ) %>% select_last_edges_created() %>% set_edge_attrs_ws( edge_attr = \"timestamp\", value = as.character(Sys.time()) ) %>% clear_selection() # View the new graph graph_2 %>% render_graph() # Inspect the new graph's NDF graph_2 %>% get_node_df() #> id type label timestamp #> 1 1 A 2024-02-03 18:45:15.490068 #> 2 2 B 2024-02-03 18:45:15.513726 # Inspect the new graph's EDF graph_2 %>% get_edge_df() #> id from to rel timestamp #> 1 1 1 2 AB 2024-02-03 18:45:15.532175"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/simple-graphs-ndfs-edfs.html","id":"creating-a-graph-object","dir":"Articles","previous_headings":"","what":"Creating a Graph Object","title":"Creating Simple Graphs from NDFs/EDFs","text":"create_graph() function creates graph object. function also allows initialization graph name, setting node_df edge_df, graph theme. key options create_graph() function : nodes_df — optional data frame graph’s nodes (vertices) attributes edges_df — optional data frame edges nodes/vertices attributes directed — required logical value stating whether graph considered directed graph (TRUE, default) undirected graph (FALSE) graph_name — optional character vector name graph nodes_df edges_df arguments, one can supply node data frame edge data frame, respectively. dgr_graph object can initialized without nodes edges (supplying NDF EDF function call), favorable option supplying nodes edges using functions modify existing graph. example whereby empty graph (initialized directed graph) created. Note graph’s internal nodes_df edges_df data frames empty , signifying empty graph. ’s possible include NDF EDF calling create_graph(). get edgeless graph (graph nodes edges nodes. edges can always defined later (functions add_edge(), add_edge_df(), add_edges_from_table(), etc., functions covered subsequent section). Quite often, cases node edge attributes applied nodes edges graph. achieve , ’s need create columns NDFs EDFs attributes (repeat attribute values rows columns). Default graph attributes can provided graph graph_attrs, node_attrs, edge_attrs arguments. supply attributes, use vectors graph, node, edge attributes. want graph directed graph, value directed argument set TRUE (default value). Choose FALSE undirected graph. next example include nodes edges contained within graph object. case, values type rel attributes nodes edges, respectively, provided. Adding values attributes optional important data modeling work.","code":"# Create the graph object graph <- create_graph() # Get the class of the object class(graph) #> [1] \"dgr_graph\" # It's an empty graph, so the NDF has no rows get_node_df(graph) #> [1] id type label #> <0 rows> (or 0-length row.names) # The EDF doesn't have any rows either get_edge_df(graph) #> [1] id from to rel #> <0 rows> (or 0-length row.names) # By default, the graph is considered directed is_graph_directed(graph) #> [1] TRUE # Create a node data frame ndf <- create_node_df( n = 4, label = 1:4, type = \"lower\", style = \"filled\", color = \"aqua\", shape = c(\"circle\", \"circle\", \"rectangle\", \"rectangle\"), data = c(3.5, 2.6, 9.4, 2.7) ) # Inspect the NDF ndf #> id type label style color shape data #> 1 1 lower 1 filled aqua circle 3.5 #> 2 2 lower 2 filled aqua circle 2.6 #> 3 3 lower 3 filled aqua rectangle 9.4 #> 4 4 lower 4 filled aqua rectangle 2.7 # Create the graph and include the # `nodes` NDF graph <- create_graph(nodes_df = ndf) # Examine the NDF within the graph object get_node_df(graph) #> id type label style color shape data #> 1 1 lower 1 filled aqua circle 3.5 #> 2 2 lower 2 filled aqua circle 2.6 #> 3 3 lower 3 filled aqua rectangle 9.4 #> 4 4 lower 4 filled aqua rectangle 2.7 # Check if it's the same NDF (both externally # and internally) all(ndf == graph %>% get_node_df()) #> [1] TRUE ### # Create a graph with both nodes and edges # defined, and, add some default attributes # for nodes and edges ### # Create a node data frame ndf <- create_node_df( n = 4, label = c(\"a\", \"b\", \"c\", \"d\"), type = \"lower\", style = \"filled\", color = \"aqua\", shape = c(\"circle\", \"circle\", \"rectangle\", \"rectangle\"), data = c(3.5, 2.6, 9.4, 2.7) ) edf <- create_edge_df( from = c(1, 2, 3), to = c(4, 3, 1), rel = \"leading_to\" ) graph <- create_graph( nodes_df = ndf, edges_df = edf ) %>% set_node_attrs( node_attr = \"fontname\", values = \"Helvetica\" ) %>% set_edge_attrs( edge_attr = \"color\", values = \"blue\" ) %>% set_edge_attrs( edge_attr = \"arrowsize\", values = 2 ) # Examine the NDF within the graph object get_node_df(graph) #> id type label style color shape data fontname #> 1 1 lower a filled aqua circle 3.5 Helvetica #> 2 2 lower b filled aqua circle 2.6 Helvetica #> 3 3 lower c filled aqua rectangle 9.4 Helvetica #> 4 4 lower d filled aqua rectangle 2.7 Helvetica # Have a look at the graph's EDF get_edge_df(graph) #> id from to rel color arrowsize #> 1 1 1 4 leading_to blue 2 #> 2 2 2 3 leading_to blue 2 #> 3 3 3 1 leading_to blue 2"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/simple-graphs-ndfs-edfs.html","id":"viewing-a-graph-object","dir":"Articles","previous_headings":"","what":"Viewing a Graph Object","title":"Creating Simple Graphs from NDFs/EDFs","text":"render_graph() function, ’s possible view graph object, , output DOT code current state graph. Let’s look graph created last example: ’d like return Graphviz DOT code (, perhaps, share use directly Graphviz command-line utility), can use generate_dot() function. ’s simple example:","code":"graph %>% render_graph() # Take the graph object and generate a character # vector with Graphviz DOT code (using cat() for # a better appearance) graph %>% generate_dot() %>% cat() #> digraph { #> #> graph [layout = 'neato', #> outputorder = 'edgesfirst', #> bgcolor = 'white'] #> #> node [fontname = 'Helvetica', #> fontsize = '10', #> shape = 'circle', #> fixedsize = 'true', #> width = '0.5', #> style = 'filled', #> fillcolor = 'aliceblue', #> color = 'gray70', #> fontcolor = 'gray50'] #> #> edge [fontname = 'Helvetica', #> fontsize = '8', #> len = '1.5', #> color = 'gray80', #> arrowsize = '0.5'] #> #> '1' [label = 'a', style = 'filled', color = 'aqua', shape = 'circle', fontname = 'Helvetica'] #> '2' [label = 'b', style = 'filled', color = 'aqua', shape = 'circle', fontname = 'Helvetica'] #> '3' [label = 'c', style = 'filled', color = 'aqua', shape = 'rectangle', fontname = 'Helvetica'] #> '4' [label = 'd', style = 'filled', color = 'aqua', shape = 'rectangle', fontname = 'Helvetica'] #> '1'->'4' [color = 'blue', arrowsize = '2'] #> '2'->'3' [color = 'blue', arrowsize = '2'] #> '3'->'1' [color = 'blue', arrowsize = '2'] #> }"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/traversals.html","id":"traversals-across-nodes","dir":"Articles","previous_headings":"","what":"Traversals Across Nodes","title":"Traversals","text":"traverse across connected nodes without regard properties edges nodes, three functions available: trav_out(), trav_in(), trav_both(). types traversals always require initial selection one nodes, , traversing, selection one nodes returned. Directionality traversal key differentiator three functions. trav_out() function allows traversals connected nodes outbound nodes relation origin nodes (directed graph). trav_in() function, movement reversed: traversals towards connected nodes inbound nodes. example, take edge described 1->2 origin node node ID 1; trav_out() function change node selection node 1 node 2 nodes adjacent edge leads origin node outbound node. node 1 outbound edges nodes (e.g., 1->{2,3,4}) nodes connected outbound edges origin node part new selection. Take another example central node selected node, node outbound inbound edges adjacent nodes: {2,3,4}->1->{5,6,7}. function trav_in() used, nodes 2, 3, 4 become selected nodes; using trav_out() result nodes 5, 6, 7 becoming selected nodes. several examples traversals across nodes. Let’s perform two types traversals single node using trav_out() trav_in(). First, ’ll create simple graph two nodes edge (1 -> 2). Starting node 1 (initial selection), traverse node 2. traversal can occur, selection altered. demonstrate, let’s use similar set steps graph opposite edge direction. type traversal can’t alter selection outbound edges node 1, just inbound edge (2 -> 1). make traversal possible, need use trav_in() function instead. Multiple traversals can made single set statements. Let’s create path graph containing five nodes add_path() function. obtain graph form: 1->2->3->4->5 can easily create initial selection node 1 select_nodes_by_id() function. several calls trav_out() succession, can move selection node 1 node 5. Traversals commonly performed initial selection contains multiple nodes (usually, nodes something common ). Let’s look slightly complex graph multiple nodes initial selection can migrated final selection traversal. can now take selection (still central node 1) traverse via outbound edges adjacent nodes: 2, 3, 4, 5, 6. Alternatively, initial selection 1 can traverse via inbound edges adjacent nodes (trav_in()) expect different final selection nodes (7, 8, 9, 10, 11). trav_both() function results traversals adjacent nodes regardless edge directions nodes. , sense, direction movement adjacent nodes , , . example {2,3,4}->1->{5,6,7}, node 1 node selection, nodes 2 node 6 part new selection calling trav_both(). far, functions described modifying selections nodes based solely node adjacency direction edges adjacent nodes. Indeed without supplying values function, traversals occur without regard attributes nodes traversed . However, arguments node_attr match available filtering traversals satisfy logical statements numeric attributes matches character attributes. property graph, values available nodes’ type attribute edges’ rel attribute, traversal trav_out() , example, performed outbound, adjacent nodes specific type label. done setting node_attr = type providing value type match argument. limited starting traversal single node ID value. can, example, begin selection nodes based regular expression traverse matching type string value (node attributes character values). following example uses random graph food entities arbitrary edges . Traversing node node trav_out(), trav_in(), trav_both() can result specific targeting nodes. seen, traversal occurred, new selection can used obtain data nodes, , modify graph (adding new nodes selection). Especially used within pipeline, selection nodes, traversals, resulting actions quite readable.","code":"pre <- create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 1, to = 2) %>% select_nodes_by_id(nodes = 1) # Create a simple graph, create a single- # node selection and traverse to the other # node; obtain the final selection create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 1, to = 2) %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% get_selection() #> [1] 2 # Create a simple graph, create a single- # node selection and then attempt to traverse # to the other node; obtain the final selection create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 2, to = 1) %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% get_selection() #> [1] 1 # A traversal can occur if `trav_in()` is used # instead of `trav_out()` create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 2, to = 1) %>% select_nodes_by_id(nodes = 1) %>% trav_in() %>% get_selection() #> [1] 2 # Traverse across a path graph one # step at a time with `trav_out()` create_graph() %>% add_path(n = 5) %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% trav_out() %>% trav_out() %>% trav_out() %>% get_selection() #> [1] 5 graph_1 <- create_graph() %>% add_node() %>% select_nodes_by_id(nodes = 1) %>% add_n_nodes_ws( n = 5, direction = \"from\" ) %>% add_n_nodes_ws( n = 5, direction = \"to\" ) graph_1 %>% render_graph() graph_1 %>% trav_out() %>% get_selection() #> [1] 2 3 4 5 6 graph_1 %>% trav_in() %>% get_selection() #> [1] 7 8 9 10 11 # Create the graph described in the paragraph # above ({`2...4`} -> `1` -> {`5...7`}), # start from node `1` (as a selection), # traverse to all other adjacent nodes and # then obtain the current selection create_graph() %>% add_node() %>% select_nodes_by_id(nodes = 1) %>% add_n_nodes_ws( n = 3, direction = \"to\" ) %>% add_n_nodes_ws( n = 3, direction = \"from\" ) %>% trav_both() %>% get_selection() #> [1] 2 3 4 5 6 7 # Create a common graph with nodes having # various `type` values; set to render # always using `visNetwork` when calling # `render_graph()` graph <- create_graph() %>% add_node(type = \"type_a\") %>% add_n_nodes( n = 4, type = \"type_b\" ) %>% add_edge(from = 1, to = 2) %>% add_edge(from = 1, to = 3) %>% add_edge(from = 4, to = 1) %>% add_edge(from = 5, to = 1) %>% add_n_nodes( n = 4, type = \"type_c\" ) %>% add_edge(from = 1, to = 6) %>% add_edge(from = 1, to = 7) %>% add_edge(from = 8, to = 1) %>% add_edge(from = 9, to = 1) # View the created graph graph %>% render_graph() graph %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% get_selection() #> [1] 2 3 6 7 graph %>% select_nodes_by_id(nodes = 1) %>% trav_out(conditions = type == \"type_b\") %>% get_selection() #> [1] 2 3 graph %>% select_nodes_by_id(nodes = 1) %>% trav_out(conditions = type == \"type_c\") %>% get_selection() #> [1] 6 7 # Once the nodes have been selected via # a traversal, a useful thing to do would # be to attach new nodes to that selection updated_graph <- graph %>% select_nodes_by_id(nodes = 1) %>% trav_out(conditions = type == \"type_c\") %>% add_n_nodes_ws( n = 1, direction = \"from\", type = \"type_d\" ) # View the updated graph updated_graph %>% render_graph() # Create a graph with fruit, vegetables, # and nuts ndf <- create_node_df( n = 9, type = c( \"fruit\", \"fruit\", \"fruit\", \"veg\", \"veg\", \"veg\", \"nut\", \"nut\", \"nut\" ), label = c( \"pineapple\", \"apple\", \"apricot\", \"cucumber\", \"celery\", \"endive\", \"hazelnut\", \"almond\", \"chestnut\" ) ) edf <- create_edge_df( from = c( 9, 3, 6, 2, 6, 2, 8, 2, 5, 5 ), to = c( 1, 1, 4, 3, 7, 8, 1, 5, 3, 6 ) ) graph <- create_graph( nodes_df = ndf, edges_df = edf ) # View the graph graph %>% render_graph() # View the internal NDF for sake of # reference graph %>% get_node_df() #> id type label #> 1 1 fruit pineapple #> 2 2 fruit apple #> 3 3 fruit apricot #> 4 4 veg cucumber #> 5 5 veg celery #> 6 6 veg endive #> 7 7 nut hazelnut #> 8 8 nut almond #> 9 9 nut chestnut # Select all nodes with a label beginning # with `a` and traverse outward to all nodes graph %>% select_nodes( conditions = grepl(\"^a\", label) ) %>% trav_out() %>% get_selection() #> [1] 1 3 5 8 # This traversal results in a rather large # selection of nodes: `3` (`apricot`), `8` # (`almond`), `5` (`celery`), and `1` # (`pineapple`) # Now, select all nodes with a label beginning # with `c` (in this case, the `cucumber` and # `chestnut` and then traverse outward to any # node of the `fruit` type graph %>% select_nodes( conditions = grepl(\"^c\", label) ) %>% trav_out( conditions = type == \"fruit\" ) %>% get_selection() #> [1] 1 3 # The traversal has resulted in a selection of # nodes `3` (`apricot`) and `1` (`pineapple`)"},{"path":"https://rich-iannone.github.io/DiagrammeR/articles/traversals.html","id":"traversals-from-nodes-to-edges","dir":"Articles","previous_headings":"","what":"Traversals from Nodes to Edges","title":"Traversals","text":"Moving across nodes using traversal functions quite powerful thing . However, especially information-rich graphs, useful data can exist graph’s edges. reason, can traverse nodes onto adjacent edges. node--node traversal functions, direction edge important key distinction functions trav_out_edge() trav_in_edge(). types traversals always begin nodes (thus require initial selection one nodes) typically end selection one edges. traversal can made, initial selection nodes retained. Starting trav_out_edge() function, suppose selection single node 1 simple graph 1->2. Calling trav_out_edge() function simplest form (without values supplied except graph ) result edge selection edge 1->2 edge. Thus, traversal one nodes onto adjacent, outward edges. graph, selection, calling trav_in_edge() function result traversal (initial node selection node 1 retained, though nothing happened). trav_in_edge() function performs converse traversal, traversal one nodes onto adjacent, inward edges. Put another way, trav_in_edge() change selection edges point toward initially-selected node(s), . node--node traversal functions, traversals much powerful used matching conditions increase selectivity. certain edges may traversed (selected) important, especially cases traversal continues onto nodes (next section). Examples aid understanding functions. introduce conditions traversal, can use conditions argument. node--node traversal functions, optional values induce filtering node--edge traversals. graph fashioned property graph values set node type edge rel attributes, traversals trav_out_edge() trav_in_edge() restricted selection edges specific rel label.","code":"# Create a simple graph with two nodes, an # edge between them (`1` -> `2`); starting # from node `1` (as a selection), traverse # to the edge and then obtain the current # selection create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 1, to = 2) %>% select_nodes_by_id(nodes = 1) %>% trav_out_edge() %>% get_selection() #> [1] 1 # If no traversal can occur the selection is # not altered. To demonstrate, use a similar # pipeline but reverse the edge direction create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 2, to = 1) %>% select_nodes_by_id(nodes = 1) %>% trav_out_edge() %>% get_selection() #> [1] 1 # A traversal can occur if `trav_in_edge()` # is used instead of `trav_out_edge()` create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 2, to = 1) %>% select_nodes_by_id(nodes = 1) %>% trav_in_edge() %>% get_selection() #> [1] 1 # A selection of multiple edges can occur # as a result of a traversal create_graph() %>% add_node() %>% select_nodes_by_id(nodes = 1) %>% add_n_nodes_ws( n = 10, direction = \"from\" ) %>% add_n_nodes_ws( n = 10, direction = \"to\" ) %>% trav_out_edge() %>% get_selection() #> [1] 1 2 3 4 5 6 7 8 9 10 create_graph() %>% add_node() %>% select_nodes_by_id(nodes = 1) %>% add_n_nodes_ws( n = 10, direction = \"from\" ) %>% add_n_nodes_ws( n = 10, direction = \"to\" ) %>% trav_in_edge() %>% get_selection() #> [1] 11 12 13 14 15 16 17 18 19 20 # First, set a seed so the example # is reproducible suppressWarnings(RNGversion(\"3.5.0\")) set.seed(20) # Create a graph with fruit, # vegetables, nuts, and... people! ndf <- create_node_df( n = 14, type = c( \"person\", \"person\", \"person\", \"person\", \"person\", \"fruit\", \"fruit\", \"fruit\", \"veg\", \"veg\", \"veg\", \"nut\", \"nut\", \"nut\" ), label = c( \"Annie\", \"Donna\", \"Justine\", \"Ed\", \"Graham\", \"pineapple\", \"apple\", \"apricot\", \"cucumber\", \"celery\", \"endive\", \"hazelnut\", \"almond\", \"chestnut\" ) ) edf <- create_edge_df( from = sort( as.vector(replicate(5, 1:5)) ), to = as.vector( replicate(5, sample(6:14, 5)) ), rel = as.vector( replicate( 5, sample( c( \"likes\", \"dislikes\", \"allergic_to\" ), 5, TRUE, c(0.5, 0.25, 0.25) ) ) ) ) graph <- create_graph( nodes_df = ndf, edges_df = edf ) graph %>% render_graph()"},{"path":"https://rich-iannone.github.io/DiagrammeR/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Richard Iannone. Author, maintainer. Olivier Roy. Author.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Iannone R, Roy O (2024). DiagrammeR: Graph/Network Visualization. R package version 1.0.11, https://github.com/rich-iannone/DiagrammeR, https://rich-iannone.github.io/DiagrammeR/.","code":"@Manual{, title = {DiagrammeR: Graph/Network Visualization}, author = {Richard Iannone and Olivier Roy}, year = {2024}, note = {R package version 1.0.11, https://github.com/rich-iannone/DiagrammeR}, url = {https://rich-iannone.github.io/DiagrammeR/}, }"},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"graph-basics","dir":"","previous_headings":"","what":"Graph Basics","title":"Graph/Network Visualization","text":"Let’s create graph object create_graph() add nodes edges . node gets new integer ID upon creation. edge also gets ID starting 1. pipes functions make whole process readable understandable. can take away edge using delete_edge(). can add node graph , time, defining edges existing nodes graph. Viewing graph object console provide basic information graph pointers get additional information. time add node edge graph, can add node edge aesthetic data attributes. can styling properties (e.g., color, shape), grouping labels (e.g., type rel), data values useful calculations display purposes. node edge creation functions (depending whether create either edges, nodes, ) arguments node_aes, edge_aes, node_data, edge_data. Using , can call namesake helper functions (node_aes(), edge_aes(), node_data(), edge_data()) specifically target created nodes edges bind attribute data. additional benefit using helper functions (node/edge aesthetic attributes especially) RStudio can provide inline help attribute names definitions typing node_aes( edge_aes( pressing TAB key. example adding node setting color, fillcolor, fontcolor node aesthetic attributes, , adding edge color, arrowhead, tooltip edge aesthetic attributes. add_node() add_edge() calls, new node edge set value node/edge data attribute. Creating attributes setting values often useful can work attributes (e.g., mutate values even use traversals). Furthermore, can create aesthetic properties based numerical categorical data. important want display graph diagram using render_graph() function. Don’t worry attribute values weren’t set right creation associated nodes edges. ways set attribute values existing nodes edges. Functions available targeting specific nodes/edges (.e., making selection) functions used set attribute values selected nodes edges. Often, can efficient strategy can target nodes/edges based properties (e.g., degree, relationships neighbors, etc.). example select node based value attribute modify color node aesthetic attribute: explain bit, take graph object d_graph, select nodes node value attribute exactly 2.5. (now active node selection.) selected nodes, set node attribute fillcolor value orange. deactivate selection clear_selection(). Now, view graph render_graph() get : quite functions allow select nodes (e.g., select_nodes(), select_nodes_by_id(), select_last_nodes_created()) edges (e.g., select_edges(), select_edges_by_edge_id(), select_last_edges_created()). selections, can apply changes using functions end ..._ws() (selection). seen, node attributes set/replaced set_node_attrs_ws() can also mutate attributes selected nodes (mutate_node_attrs_ws()), delete selected nodes (delete_nodes_ws()), even create subgraph selection (create_subgraph_ws()). Selections nodes edges can inverted (non-selected nodes edges become active selection) invert_selection(), certain nodes/edges can removed active selection deselect_nodes()/deselect_edges(), selection can eventually cleared clear_selection(). can create graph object add graph primitives paths, cycles, trees . can add one randomly generated graphs graph object. , let’s add directed GNM graph 10 nodes 15 edges (set_seed option makes random graph reproducible). undirected version graph can made using: can view graph using render_graph(). several layouts choose well (e.g., nicely, tree, kk, fr, etc.).","code":"a_graph <- create_graph() %>% add_node() %>% add_node() %>% add_edge(from = 1, to = 2) b_graph <- a_graph %>% delete_edge(from = 1, to = 2) c_graph <- b_graph %>% add_node(from = 1, to = 2) c_graph #> DiagrammeR Graph // 3 nodes / 2 edges #> -- directed / connected / DAG / simple #> #> NODES / type: / label: info: `get_node_df()` #> -- no additional node attributes #> EDGES / rel: info: `get_edge_df()` #> -- no additional edge attributes #> SELECTION / #> CACHE / #> GLOBAL ATTRS / 17 are set info: `get_global_graph_attr_info()` #> GRAPH ACTIONS / #> GRAPH LOG / <3 actions> -> add_edge() -> delete_edge() -> add_node() d_graph <- c_graph %>% add_node( type = \"type_a\", node_aes = node_aes( color = \"steelblue\", fillcolor = \"lightblue\", fontcolor = \"gray35\" ), node_data = node_data( value = 2.5 ) ) %>% add_edge( from = 1, to = 3, rel = \"interacted_with\", edge_aes = edge_aes( color = \"red\", arrowhead = \"vee\", tooltip = \"Red Arrow\" ), edge_data = edge_data( value = 5.2 ) ) e_graph <- d_graph %>% select_nodes(conditions = value == 2.5) %>% set_node_attrs_ws(node_attr = fillcolor, value = \"orange\") %>% clear_selection() f_graph <- create_graph() %>% add_path(n = 3) %>% add_cycle(n = 4) %>% add_balanced_tree(k = 2, h = 2) g_graph <- create_graph() %>% add_gnm_graph( n = 15, m = 20, set_seed = 23 ) h_graph <- create_graph(directed = FALSE) %>% add_gnm_graph( n = 15, m = 20, set_seed = 23 ) render_graph(h_graph, layout = \"fr\")"},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"using-data-from-tables-to-generate-a-graph","dir":"","previous_headings":"","what":"Using Data from Tables to Generate a Graph","title":"Graph/Network Visualization","text":"DiagrammeR package contains simple datasets help illustrate create graph table data. node_list_1 edge_list_1 datasets super simple node edge data frames can assembled graph. Let’s print side side see ’re working . fashion graph, need ensure nodes attributes (case, just label) added, , edges added. Furthermore, must map definitions node id (cases, may need map relationships text labels text attribute stored node data frame). can use three functions generate graph containing data: create_graph() add_nodes_from_table() add_edges_from_table() Let’s show process stepwise fashion (occasionally viewing graph’s internal ndf edf) can understand actually happening. First, create graph object create_graph(): Add nodes table add_nodes_from_table(): Inspect graph’s internal node data frame (ndf) get_node_df(): graph now 10 nodes (edges yet). node automatically assigned auto-incrementing id. incoming id also automatically renamed id_external avoid duplicate column names also retain column mapping edge definitions. Now, let’s add edges. need specify from_col edge_list_1 table indeed to_col . from_to_map argument expects node attribute column columns map . case ’s id_external. Note id also matches perfectly mapping, may cases id won’t match id_external column (e.g., existing nodes node id values incoming table provided different order, etc.). Now, connect graph nodes edges another dataset using add_edges_from_table(): Inspect graph’s internal edge data frame (edf) get_edge_df(): supplying name graph object console, can get succinct summary graph’s properties. , see graph 10 nodes 19 edges: two similar datasets included package (node_list_2 edge_list_2). contain extended attribute data. Let’s quick look column names: unique labels label column, categorical labels type rel columns, can create property graph data. Like , can incorporate two tables graph add_nodes_from_table() add_edges_from_table(). time, ’ll remove auto-generated id_external node attribute drop_node_attrs() function. Let’s view graph summary console. Note additional node attributes (value_1 value_2) present nodes edges: Now, node/edge metadata (categorical labels numerical data value_1 & value_2 nodes edges), can interesting things graph. First, let’s mutation mutate_node_attrs() mutate_edge_attrs() get sums value_1 value_2 value_3 (nodes edges). , let’s color nodes edges forestgreen value_3 greater 10 (red otherwise). Finally, let’s display values value_3 nodes rendering graph diagram. go!","code":"node_list_1 edge_list_1 id label from to 1 1 A 1 1 2 2 2 B 2 1 3 3 3 C 3 1 4 4 4 D 4 1 9 5 5 E 5 2 8 6 6 F 6 2 7 7 7 G 7 2 1 8 8 H 8 2 10 9 9 I 9 3 1 10 10 J 10 3 6 11 3 8 12 4 1 13 5 7 14 6 2 15 6 9 16 8 1 17 9 3 18 9 10 19 10 1 # Create the graph object i_graph_1 <- create_graph() # It will start off as empty i_graph_1 %>% is_graph_empty() #> [1] TRUE # Add the nodes to the graph i_graph_2 <- i_graph_1 %>% add_nodes_from_table( table = node_list_1, label_col = label ) # View the graph's internal node data frame i_graph_2 %>% get_node_df() #> id type label id_external #> 1 1 A 1 #> 2 2 B 2 #> 3 3 C 3 #> 4 4 D 4 #> 5 5 E 5 #> 6 6 F 6 #> 7 7 G 7 #> 8 8 H 8 #> 9 9 I 9 #> 10 10 J 10 # Add the edges to the graph i_graph_3 <- i_graph_2 %>% add_edges_from_table( table = edge_list_1, from_col = from, to_col = to, from_to_map = id_external ) # View the edge data frame i_graph_3 %>% get_edge_df() #> id from to rel #> 1 1 1 2 #> 2 2 1 3 #> 3 3 1 4 #> 4 4 1 9 #> 5 5 2 8 #> 6 6 2 7 #> 7 7 2 1 #> 8 8 2 10 #> 9 9 3 1 #> 10 10 3 6 #> 11 11 3 8 #> 12 12 4 1 #> 13 13 5 7 #> 14 14 6 2 #> 15 15 6 9 #> 16 16 8 1 #> 17 17 9 3 #> 18 18 9 10 #> 19 19 10 1 i_graph_3 #> DiagrammeR Graph // 10 nodes / 19 edges #> -- directed / connected / simple #> #> NODES / type: / label: 10 vals - complete & unique #> -- 1 additional node attribute (id_external) #> EDGES / rel: info: `get_edge_df()` #> -- no additional edge attributes #> SELECTION / #> CACHE / #> GLOBAL ATTRS / 17 are set info: `get_global_graph_attr_info()` #> GRAPH ACTIONS / #> GRAPH LOG / <1 action> -> add_nodes_from_table() -> add_edges_from_table() -> () colnames(node_list_2) #> [1] \"id\" \"label\" \"type\" \"value_1\" \"value_2\" colnames(edge_list_2) #> [1] \"from\" \"to\" \"rel\" \"value_1\" \"value_2\" j_graph <- create_graph() %>% add_nodes_from_table( table = node_list_2, label_col = label, type_col = type ) %>% add_edges_from_table( table = edge_list_2, from_col = from, to_col = to, from_to_map = id_external, rel_col = rel ) %>% drop_node_attrs(node_attr = id_external) j_graph #> DiagrammeR Graph // 10 nodes / 19 edges #> -- directed / connected / property graph / simple #> #> NODES / type: 2 vals - complete / label: 10 vals - complete & unique #> -- 2 additional node attributes (value_1, value_2) #> EDGES / rel: 3 vals - complete info: `get_edge_df()` #> -- 2 additional edge attributes (value_1, value_2) #> SELECTION / #> CACHE / #> GLOBAL ATTRS / 17 are set info: `get_global_graph_attr_info()` #> GRAPH ACTIONS / #> GRAPH LOG / <3 actions> -> add_edges_from_table() -> () -> drop_node_attrs() k_graph <- j_graph %>% mutate_node_attrs(value_3 = value_1 + value_2) %>% mutate_edge_attrs(value_3 = value_1 + value_2) %>% select_nodes(conditions = value_3 > 10) %>% set_node_attrs_ws(node_attr = fillcolor, value = \"forestgreen\") %>% invert_selection() %>% set_node_attrs_ws(node_attr = fillcolor, value = \"red\") %>% select_edges(conditions = value_3 > 10) %>% set_edge_attrs_ws(edge_attr = color, value = \"forestgreen\") %>% invert_selection() %>% set_edge_attrs_ws(edge_attr = color, value = \"red\") %>% clear_selection() %>% set_node_attr_to_display(attr = value_3) render_graph(k_graph)"},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"a-network-graph-example","dir":"","previous_headings":"","what":"A Network Graph Example","title":"Graph/Network Visualization","text":"Let’s create property graph pertains contributors three software projects. graph nodes representing people projects. attributes name, age, join_date, email, follower_count, following_count, starred_count specific person nodes project, start_date, stars, language attributes apply project nodes. edges represent relationships people project. example graph file repository.dgr available extdata/example_graphs_dgr/ directory DiagrammeR package (currently, GitHub version). can load memory using open_graph() function, system.file() helps provide location file within package. can always view property graph render_graph() function: Now graph set , can create queries magrittr pipelines get specific answers graph. Get average age contributors. Select nodes type person (project). node type non-NA age attribute, , get attribute vector get_node_attrs_ws() calculate mean R’s mean() function. can get total number commits projects. know edges contain numerical commits attribute, , select edges (select_edges() selects edges graph). , get numeric vector commits values get sum() (commits projects). Single one known Josh get total number commits maintainer contributor. Start selecting Josh node select_nodes(conditions = name == \"Josh\"). graph, know people edge project edge can relationship (rel) type contributor maintainer. can migrate selection nodes outbound edges trav_out_edges() (won’t provide condition, just outgoing edges Josh selected). Now selection 2 edges. Get vector commits values get_edge_attrs_ws() calculate sum(). total number commits. Get total number commits Louisa, just maintainer role though. case ’ll supply condition trav_out_edge(). acts filter traversal means selection applied edges condition met. Although single value, ’ll still use sum() get_edge_attrs_ws() (good practice may know vector length, especially big graphs). something complex, like, get names people graph age 32? First, select person nodes select_nodes(conditions = type == \"person\"). , follow another select_nodes() call specifying age > 32. Importantly, set_op = \"intersect\" (giving us intersection selections). Now starting selection nodes want, need get values nodes’ name attribute character vector. get_node_attrs_ws() function. getting vector, sort names alphabetically R function sort(). get named vector, can use unname() show us names vector component. supercalc project progressing quite nicely. Let’s get total number commits people interesting project. Start selecting project’s node work backwards. Traverse edges leading trav_in_edge(). edges committers contain commits attribute numerical values. Get vector commits get sum (1676 commits). Kim now contributor stringbuildeR project made 15 new commits project. can modify graph reflect . First, add edge add_edge(). Note add_edge() usually relies node IDs creating new edge. almost always inconvenient can instead use node labels (know unique graph) compose edge, setting use_labels = TRUE. rel value add_edge() set contributor – property graph always values set node type edge rel attributes. set another attribute edge (commits) first selecting edge (last edge made, can use select_last_edges_created()), , use set_edge_attrs_ws() provide attribute/value pair. Finally, clear active selections clear_selection(). graph now changed, look. Get email addresses contributors (maintainers) randomizer supercalc88 projects. trav_in_edge() just want contributer edges/commits. edges, hop back unconditionally people edges originate trav_out_node(). Get email values selected individuals sorted character vector. people committed one project? matter node degree. know people edges outward projects edges inward. Thus, anybody outdegree (number edges outward) greater 1 committed one project. Globally, select nodes condition using select_nodes_by_degree(\"outdeg > 1\"). getting name attribute values node selection, can provide sorted character vector names.","code":"# Load in a the small repository graph graph <- open_graph( system.file( \"extdata/example_graphs_dgr/repository.dgr\", package = \"DiagrammeR\" ) ) render_graph(graph, layout = \"kk\") graph %>% select_nodes(conditions = type == \"person\") %>% get_node_attrs_ws(node_attr = age) %>% mean() #> [1] 33.6 graph %>% select_edges() %>% get_edge_attrs_ws(edge_attr = commits) %>% sum() #> [1] 5182 graph %>% select_nodes(conditions = name == \"Josh\") %>% trav_out_edge() %>% get_edge_attrs_ws(edge_attr = commits) %>% sum() #> [1] 227 graph %>% select_nodes(conditions = name == \"Louisa\") %>% trav_out_edge(conditions = rel == \"maintainer\") %>% get_edge_attrs_ws(edge_attr = commits) %>% sum() #> [1] 236 graph %>% select_nodes(conditions = type == \"person\") %>% select_nodes(conditions = age > 32, set_op = \"intersect\") %>% get_node_attrs_ws(node_attr = name) %>% sort() %>% unname() #> [1] \"Jack\" \"Jon\" \"Kim\" \"Roger\" \"Sheryl\" graph %>% select_nodes(conditions = project == \"supercalc\") %>% trav_in_edge() %>% get_edge_attrs_ws(edge_attr = commits) %>% sum() #> [1] 1676 graph <- graph %>% add_edge( from = \"Kim\", to = \"stringbuildeR\", rel = \"contributor\" ) %>% select_last_edges_created() %>% set_edge_attrs_ws(edge_attr = commits, value = 15) %>% clear_selection() render_graph(graph, layout = \"kk\") graph %>% select_nodes( conditions = project == \"randomizer\" | project == \"supercalc\" ) %>% trav_in_edge(conditions = rel == \"contributor\") %>% trav_out_node() %>% get_node_attrs_ws(node_attr = email) %>% sort() %>% unname() #> [1] \"j_2000@ultramail.io\" \"josh_ch@megamail.kn\" #> [3] \"kim_3251323@ohhh.ai\" \"lhe99@mailing-fun.com\" #> [5] \"roger_that@whalemail.net\" \"the_simone@a-q-w-o.net\" #> [7] \"the_will@graphymail.com\" graph %>% select_nodes_by_degree(expressions = \"outdeg > 1\") %>% get_node_attrs_ws(node_attr = name) %>% sort() %>% unname() #> [1] \"Josh\" \"Kim\" \"Louisa\""},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Graph/Network Visualization","text":"DiagrammeR used R environment. don’t R installation, can obtained Comprehensive R Archive Network (CRAN). can install development version DiagrammeR GitHub using devtools package. , get CRAN. encounter bug, usage questions, want share ideas make package better, feel free file issue.","code":"devtools::install_github(\"rich-iannone/DiagrammeR\") install.packages(\"DiagrammeR\")"},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Graph/Network Visualization","text":"Please note DiagrammeR project released contributor code conduct.participating project agree abide terms.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"id_-license","dir":"","previous_headings":"","what":"📄 License","title":"Graph/Network Visualization","text":"DiagrammeR licensed MIT license. See LICENSE.md file details.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/index.html","id":"id_️-governance","dir":"","previous_headings":"","what":"🏛️ Governance","title":"Graph/Network Visualization","text":"project primarily maintained Rich Iannone. authors may occasionally assist duties.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR-package.html","id":null,"dir":"Reference","previous_headings":"","what":"DiagrammeR: Graph/Network Visualization — DiagrammeR-package","title":"DiagrammeR: Graph/Network Visualization — DiagrammeR-package","text":"Build graph/network structures using functions stepwise addition deletion nodes edges. Work data available tables bulk addition nodes, edges, associated metadata. Use graph selections traversals apply changes specific nodes edges. wide selection graph algorithms allow analysis graphs. Visualize graphs take advantage aesthetic properties assigned nodes edges.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"DiagrammeR: Graph/Network Visualization — DiagrammeR-package","text":"Maintainer: Richard Iannone riannone@.com (ORCID) Authors: Olivier Roy olivierroy71@hotmail.com","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR.html","id":null,"dir":"Reference","previous_headings":"","what":"R + mermaid.js — DiagrammeR","title":"R + mermaid.js — DiagrammeR","text":"Make diagrams R using viz.js mermaid.js infrastructure provided htmlwidgets.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"R + mermaid.js — DiagrammeR","text":"","code":"DiagrammeR(diagram = \"\", type = \"mermaid\", ...)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"R + mermaid.js — DiagrammeR","text":"diagram diagram graphviz mermaid format, , file (connection file name) containing diagram specification. recommended filename extensions .gv .mmd Graphviz mermaid diagram specifications, respectively. diagram provided (diagram = \"\") function assume diagram provided htmltools::tags() DiagrammeR just used dependency injection. type string, either mermaid (default) grViz indicating type diagram spec desired parser/renderer. ... parameters pass grViz mermaid","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"R + mermaid.js — DiagrammeR","text":"object class htmlwidget intelligently print HTML variety contexts including R console, within R Markdown documents, within Shiny output bindings.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeR.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"R + mermaid.js — DiagrammeR","text":"","code":"if (FALSE) { # note the whitespace is not important DiagrammeR(\" graph LR A-->B A-->C C-->E B-->D C-->D D-->F E-->F \") DiagrammeR(\" graph TB A-->B A-->C C-->E B-->D C-->D D-->F E-->F \") DiagrammeR(\"graph LR;A(Rounded)-->B[Squared];B-->C{A Decision}; C-->D[Square One];C-->E[Square Two]; style A fill:#E5E25F; style B fill:#87AB51; style C fill:#3C8937; style D fill:#23772C; style E fill:#B6E6E6;\" ) # Load in the 'mtcars' dataset mtcars connections <- sapply( 1:ncol(mtcars) ,function(i) { paste0( i ,\"(\",colnames(mtcars)[i],\")---\" ,i,\"-stats(\" ,paste0( names(summary(mtcars[,i])) ,\": \" ,unname(summary(mtcars[,i])) ,collapse=\"\" ) ,\")\" ) } ) DiagrammeR( paste0( \"graph TD;\", \"\\n\", paste(connections, collapse = \"\\n\"),\"\\n\", \"classDef column fill:#0001CC, stroke:#0D3FF3, stroke-width:1px;\" ,\"\\n\", \"class \", paste0(1:length(connections), collapse = \",\"), \" column;\" ) ) # also with DiagrammeR() you can use tags from htmltools # just make sure to use class = \"mermaid\" library(htmltools) diagramSpec = \" graph LR; id1(Start)-->id2(Stop); style id1 fill:#f9f,stroke:#333,stroke-width:4px; style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5; \" html_print(tagList( tags$h1(\"R + mermaid.js = Something Special\") ,tags$pre(diagramSpec) ,tags$div(class=\"mermaid\",diagramSpec) ,DiagrammeR() )) # sequence diagrams # Using this \"How to Draw a Sequence Diagram\" # http://www.cs.uku.fi/research/publications/reports/A-2003-1/page91.pdf # draw some sequence diagrams with DiagrammeR DiagrammeR(\" sequenceDiagram; customer->>ticket seller: ask for ticket; ticket seller->>database: seats; alt tickets available database->>ticket seller: ok; ticket seller->>customer: confirm; customer->>ticket seller: ok; ticket seller->>database: book a seat; ticket seller->>printer: print ticket; else sold out database->>ticket seller: none left; ticket seller->>customer: sorry; end \") }"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeROutput.html","id":null,"dir":"Reference","previous_headings":"","what":"Widget output function for use in Shiny — DiagrammeROutput","title":"Widget output function for use in Shiny — DiagrammeROutput","text":"Widget output function use Shiny","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeROutput.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Widget output function for use in Shiny — DiagrammeROutput","text":"","code":"DiagrammeROutput(outputId, width = \"100%\", height = \"auto\")"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/DiagrammeROutput.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Widget output function for use in Shiny — DiagrammeROutput","text":"outputId Output variable read width valid CSS unit width number, coerced string px appended. height valid CSS unit height number, coerced string px appended.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_balanced_tree.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a balanced tree to the graph — add_balanced_tree","title":"Add a balanced tree to the graph — add_balanced_tree","text":"graph object class dgr_graph, add balanced tree graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_balanced_tree.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a balanced tree to the graph — add_balanced_tree","text":"","code":"add_balanced_tree( graph, k, h, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_balanced_tree.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a balanced tree to the graph — add_balanced_tree","text":"graph graph object class dgr_graph. k branching factor tree. h height tree. type optional string describes entity type nodes added. label Either vector object length n provides optional labels new nodes, , boolean value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label new edges created node tree. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_balanced_tree.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a balanced tree to the graph — add_balanced_tree","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_balanced_tree.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a balanced tree to the graph — add_balanced_tree","text":"","code":"# Create a new graph and # add 2 different types of # balanced trees of height # 2 (branching twice) and # different branching ratios graph <- create_graph() %>% add_balanced_tree( k = 2, h = 2, type = \"binary\") %>% add_balanced_tree( k = 3, h = 2, type = \"tertiary\") # Get some node information # from this graph graph %>% get_node_info() %>% head(5) #> id type label deg indeg outdeg loops #> 1 1 binary 1 2 0 2 0 #> 2 2 binary 2 3 1 2 0 #> 3 3 binary 3 3 1 2 0 #> 4 4 binary 4 1 1 0 0 #> 5 5 binary 5 1 1 0 0 # Node and edge aesthetic and data # attributes can be specified in # the `node_aes`, `edge_aes`, # `node_data`, and `edge_data` # arguments graph_w_attrs <- create_graph() %>% add_balanced_tree( k = 2, h = 2, label = c( \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\"), type = c( \"a\", \"b\", \"b\", \"c\", \"c\", \"c\", \"c\"), rel = \"A\", node_aes = node_aes( fillcolor = \"steelblue\"), node_data = node_data( value = c( 1.6, 2.8, 3.4, 8.3, 3.8, 5.2, 3.2)), edge_aes = edge_aes( color = \"red\", penwidth = 1.2)) # Get the first three rows of # the graph's node data frame graph_w_attrs %>% get_node_df() %>% head(3) #> id type label fillcolor value #> 1 1 a one steelblue 1.6 #> 2 2 b two steelblue 2.8 #> 3 3 b three steelblue 3.4 # Get the first three rows of # the graph's edge data frame graph_w_attrs %>% get_edge_df() %>% head(3) #> id from to rel penwidth color #> 1 1 1 2 A 1.2 red #> 2 2 1 3 A 1.2 red #> 3 3 2 4 A 1.2 red"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_cycle.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a cycle of nodes to the graph — add_cycle","title":"Add a cycle of nodes to the graph — add_cycle","text":"graph object class dgr_graph, add node cycle graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_cycle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a cycle of nodes to the graph — add_cycle","text":"","code":"add_cycle( graph, n, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_cycle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a cycle of nodes to the graph — add_cycle","text":"graph graph object class dgr_graph. n number nodes comprising cycle. type optional string describes entity type nodes added. label Either vector object length n provides optional labels new nodes, , boolean value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label new edges created node cycle. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_cycle.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a cycle of nodes to the graph — add_cycle","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_cycle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a cycle of nodes to the graph — add_cycle","text":"","code":"# Create a new graph and # add a cycle of nodes to it graph <- create_graph() %>% add_cycle(n = 6) # Get node information # from this graph graph %>% get_node_info() #> id type label deg indeg outdeg loops #> 1 1 1 2 1 1 0 #> 2 2 2 2 1 1 0 #> 3 3 3 2 1 1 0 #> 4 4 4 2 1 1 0 #> 5 5 5 2 1 1 0 #> 6 6 6 2 1 1 0 # Node and edge aesthetic and data # attributes can be specified in # the `node_aes`, `edge_aes`, # `node_data`, and `edge_data` # arguments suppressWarnings(RNGversion(\"3.5.0\")) set.seed(23) graph_w_attrs <- create_graph() %>% add_cycle( n = 3, label = c( \"one\", \"two\", \"three\"), type = c( \"a\", \"a\", \"b\"), rel = \"A\", node_aes = node_aes( fillcolor = \"steelblue\"), edge_aes = edge_aes( color = \"red\", penwidth = 1.2), node_data = node_data( value = c( 1.6, 2.8, 3.4)), edge_data = edge_data( value = rnorm( n = 3, mean = 5.0, sd = 1.0))) # Get the graph's node data frame graph_w_attrs %>% get_node_df() #> id type label fillcolor value #> 1 1 a one steelblue 1.6 #> 2 2 a two steelblue 2.8 #> 3 3 b three steelblue 3.4 # Get the graph's edge data frame graph_w_attrs %>% get_edge_df() #> id from to rel penwidth color value #> 1 1 1 2 A 1.2 red 5.996605 #> 2 2 2 3 A 1.2 red 6.107490 #> 3 3 3 1 A 1.2 red 4.721914"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge.html","id":null,"dir":"Reference","previous_headings":"","what":"Add an edge between nodes in a graph object — add_edge","title":"Add an edge between nodes in a graph object — add_edge","text":"graph object class dgr_graph, add edge nodes within graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add an edge between nodes in a graph object — add_edge","text":"","code":"add_edge(graph, from, to, rel = NULL, edge_aes = NULL, edge_data = NULL)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add an edge between nodes in a graph object — add_edge","text":"graph graph object class dgr_graph. outgoing node edge connected. option use node label value (must correspondingly also done argument) defining node connections. Note possible nodes distinct label values set none exist empty string. incoming nodes edge connected. option use node label value (must correspondingly also done argument) defining node connections. Note possible nodes distinct label values set none exist empty string. rel optional string specifying relationship connected nodes. edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add an edge between nodes in a graph object — add_edge","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add an edge between nodes in a graph object — add_edge","text":"","code":"# Create a graph with 4 nodes graph <- create_graph() %>% add_node(label = \"one\") %>% add_node(label = \"two\") %>% add_node(label = \"three\") %>% add_node(label = \"four\") # Add an edge between those # nodes and attach a # relationship to the edge graph <- add_edge( graph, from = 1, to = 2, rel = \"A\") # Use the `get_edge_info()` # function to verify that # the edge has been created graph %>% get_edge_info() #> id from to rel #> 1 1 1 2 A # Add another node and # edge to the graph graph <- graph %>% add_edge( from = 3, to = 2, rel = \"A\") # Verify that the edge # has been created by # counting graph edges graph %>% count_edges() #> [1] 2 # Add edges by specifying # node `label` values; note # that all nodes must have # unique `label` values to # use this option graph <- graph %>% add_edge( from = \"three\", to = \"four\", rel = \"L\") %>% add_edge( from = \"four\", to = \"one\", rel = \"L\") # Use `get_edges()` to verify # that the edges were added graph %>% get_edges() #> [1] \"1->2\" \"3->2\" \"3->4\" \"4->1\" # Add edge aesthetic and data # attributes during edge creation graph_2 <- create_graph() %>% add_n_nodes(n = 2) %>% add_edge( from = 1, to = 2, rel = \"M\", edge_aes = edge_aes( penwidth = 1.5, color = \"blue\"), edge_data = edge_data( value = 4.3)) # Use the `get_edges()` function # to verify that the attribute # values were bound to the # newly created edge graph_2 %>% get_edge_df() #> id from to rel penwidth color value #> 1 1 1 2 M 1.5 blue 4.3"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_clone.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a clone of an existing edge to the graph — add_edge_clone","title":"Add a clone of an existing edge to the graph — add_edge_clone","text":"Add new edge graph object class dgr_graph clone edge already graph. edge attributes preserved.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_clone.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a clone of an existing edge to the graph — add_edge_clone","text":"","code":"add_edge_clone(graph, edge, from, to)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_clone.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a clone of an existing edge to the graph — add_edge_clone","text":"graph graph object class dgr_graph. edge edge ID corresponding graph edge cloned. outgoing node edge connected. incoming nodes edge connected.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_clone.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a clone of an existing edge to the graph — add_edge_clone","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_clone.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a clone of an existing edge to the graph — add_edge_clone","text":"","code":"# Create a graph with a path of # 2 nodes; supply a common `rel` # edge attribute for all edges # in this path and then add a # `color` edge attribute graph <- create_graph() %>% add_path( n = 2, rel = \"a\") %>% select_last_edges_created() %>% set_edge_attrs( edge_attr = color, values = \"steelblue\") %>% clear_selection() # Display the graph's internal # edge data frame graph %>% get_edge_df() #> id from to rel color #> 1 1 1 2 a steelblue # Create a new node (will have # node ID of `3`) and then # create an edge between it and # node `1` while reusing the edge # attributes of edge `1` -> `2` # (edge ID `1`) graph_2 <- graph %>% add_node() %>% add_edge_clone( edge = 1, from = 3, to = 1) # Display the graph's internal # edge data frame graph_2 %>% get_edge_df() #> id from to rel color #> 1 1 1 2 a steelblue #> 2 2 3 1 a steelblue # The same change can be performed # with some helper functions in the # `add_edge_clone()` function call graph_3 <- graph %>% add_node() %>% add_edge_clone( edge = get_last_edges_created(.), from = get_last_nodes_created(.), to = 1) # Display the graph's internal # edge data frame graph_3 %>% get_edge_df() #> id from to rel color #> 1 1 1 2 a steelblue #> 2 2 3 1 a steelblue"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_df.html","id":null,"dir":"Reference","previous_headings":"","what":"Add edges from an edge data frame to an existing graph object — add_edge_df","title":"Add edges from an edge data frame to an existing graph object — add_edge_df","text":"graph object class dgr_graph, add edges edge data frame graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_df.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add edges from an edge data frame to an existing graph object — add_edge_df","text":"","code":"add_edge_df(graph, edge_df)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_df.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add edges from an edge data frame to an existing graph object — add_edge_df","text":"graph graph object class dgr_graph. edge_df edge data frame created using create_edge_df().","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_df.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add edges from an edge data frame to an existing graph object — add_edge_df","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edge_df.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add edges from an edge data frame to an existing graph object — add_edge_df","text":"","code":"# Create a graph with 4 nodes # and no edges graph <- create_graph() %>% add_n_nodes(n = 4) # Create an edge data frame (edf) edf <- create_edge_df( from = c(1, 2, 3), to = c(4, 3, 1)) # Add the edge data frame to # the graph object to create # a graph with both nodes # and edges graph <- graph %>% add_edge_df( edge_df = edf) # Get the graph's edges to # verify that the edf had # been added graph %>% get_edges( return_type = \"vector\") #> [1] \"1->4\" \"2->3\" \"3->1\""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_from_table.html","id":null,"dir":"Reference","previous_headings":"","what":"Add edges and attributes to graph from a table — add_edges_from_table","title":"Add edges and attributes to graph from a table — add_edges_from_table","text":"Add edges attributes existing graph object data CSV file data frame.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_from_table.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add edges and attributes to graph from a table — add_edges_from_table","text":"","code":"add_edges_from_table( graph, table, from_col, to_col, from_to_map, rel_col = NULL, set_rel = NULL, drop_cols = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_from_table.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add edges and attributes to graph from a table — add_edges_from_table","text":"graph graph object class dgr_graph. table Either path CSV file, , data frame object. from_col name table column edges originate. to_col name table column edges terminate. from_to_map single character value mapping columns external table (supplied from_col to_col, respectively) column graph's internal node data frame (ndf). rel_col option apply column data table rel attribute values. set_rel optional string apply rel attribute edges created table records. drop_cols optional column selection statement dropping columns external table inclusion attributes graph's internal edge data frame. Several columns can dropped name using syntax col_1 & col_2 & .... Columns can also dropped using numeric column range : (e.g., 5:8), , using : column names specify range (e.g., col_5_name:col_8_name).","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_from_table.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add edges and attributes to graph from a table — add_edges_from_table","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_from_table.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add edges and attributes to graph from a table — add_edges_from_table","text":"","code":"# Create an empty graph and then # add nodes to it from the # `currencies` dataset available # in the package graph <- create_graph() %>% add_nodes_from_table( table = currencies) # Now we want to add edges to the # graph using an included dataset, # `usd_exchange_rates`, which has # exchange rates between USD and # many other currencies; the key # here is that the data in the # `from` and `to` columns in the # external table maps to graph # node data available in the # `iso_4217_code` column of the # graph's internal node data frame graph_1 <- graph %>% add_edges_from_table( table = usd_exchange_rates, from_col = from_currency, to_col = to_currency, from_to_map = iso_4217_code) # View part of the graph's # internal edge data frame graph_1 %>% get_edge_df() %>% head() #> id from to rel cost_unit #> 1 1 148 1 0.272300 #> 2 2 148 2 0.015210 #> 3 3 148 3 0.008055 #> 4 4 148 4 0.002107 #> 5 5 148 5 0.565000 #> 6 6 148 6 0.006058 # If you would like to assign # any of the table's columns as the # `rel` attribute, this can done # with the `rel_col` argument; to # set a static `rel` attribute for # all edges created, use `set_rel` graph_2 <- graph %>% add_edges_from_table( table = usd_exchange_rates, from_col = from_currency, to_col = to_currency, from_to_map = iso_4217_code, set_rel = \"from_usd\") # View part of the graph's internal # edge data frame (edf) graph_2 %>% get_edge_df() %>% head() #> id from to rel cost_unit #> 1 1 148 1 from_usd 0.272300 #> 2 2 148 2 from_usd 0.015210 #> 3 3 148 3 from_usd 0.008055 #> 4 4 148 4 from_usd 0.002107 #> 5 5 148 5 from_usd 0.565000 #> 6 6 148 6 from_usd 0.006058"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_w_string.html","id":null,"dir":"Reference","previous_headings":"","what":"Add one or more edges using a text string — add_edges_w_string","title":"Add one or more edges using a text string — add_edges_w_string","text":"graph object class dgr_graph, add one edges graph using text string.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_w_string.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add one or more edges using a text string — add_edges_w_string","text":"","code":"add_edges_w_string(graph, edges, rel = NULL, use_labels = FALSE)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_w_string.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add one or more edges using a text string — add_edges_w_string","text":"graph graph object class dgr_graph. edges single-length vector character string specifying edges. directed graph, string object formatted series node ID values [node_ID_1]->[node_ID_2] separated one space characters. undirected graphs, -- replace ->. Line breaks vector cause error. rel optional vector specifying relationship connected nodes. use_labels option use node label values edges string define node connections. Note possible nodes distinct label values set none exist empty string.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_w_string.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add one or more edges using a text string — add_edges_w_string","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_edges_w_string.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add one or more edges using a text string — add_edges_w_string","text":"","code":"# Create a graph with 4 nodes graph <- create_graph() %>% add_node(label = \"one\") %>% add_node(label = \"two\") %>% add_node(label = \"three\") %>% add_node(label = \"four\") # Add edges between nodes using # a character string with node # ID values graph_node_id <- graph %>% add_edges_w_string( edges = \"1->2 1->3 2->4 2->3\") # Show the graph's internal # edge data frame graph_node_id %>% get_edge_df() #> id from to rel #> 1 1 1 2 #> 2 2 1 3 #> 3 3 2 4 #> 4 4 2 3 # Add edges between nodes using # a character string with node # label values and setting # `use_labels = TRUE`; note that # all nodes must have unique # `label` values to use this graph_node_label <- graph %>% add_edges_w_string( edges = \"one->two one->three two->four two->three\", use_labels = TRUE) # Show the graph's internal # edge data frame (it's the # same as before) graph_node_label %>% get_edge_df() #> id from to rel #> 1 1 1 2 #> 2 2 1 3 #> 3 3 2 4 #> 4 4 2 3 "},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_forward_edges_ws.html","id":null,"dir":"Reference","previous_headings":"","what":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","title":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","text":"Add edges direction one edges available edge selection graph object class dgr_graph. New graph edges edge definitions selection except new edge ID values. also option assign common rel grouping newly created edges. Upon addition edges, edge selection retained selection traversal operations. function makes use active selection edges (function ending _ws hints ). Selections edges can performed using following selection (select_*()) functions: select_edges(), select_last_edges_created(), select_edges_by_edge_id(), select_edges_by_node_id(). Selections edges can also performed using following traversal (trav_*()) functions: trav_out_edge(), trav_in_edge(), trav_both_edge(), trav_reverse_edge().","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_forward_edges_ws.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","text":"","code":"add_forward_edges_ws(graph, rel = NULL)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_forward_edges_ws.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","text":"graph graph object class dgr_graph. rel optional string apply rel attribute newly created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_forward_edges_ws.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_forward_edges_ws.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add new edges with identical definitions as with a selection of edges — add_forward_edges_ws","text":"","code":"# Create an empty graph, add 2 nodes # to it, and create the edge `1->2` graph <- create_graph() %>% add_n_nodes( n = 2, type = \"type_a\", label = c(\"a_1\", \"a_2\")) %>% add_edge( from = 1, to = 2, rel = \"a\") # Get the graph's edges graph %>% get_edge_ids() #> [1] 1 # Select the edge and create 2 # additional edges with the same # definition (`1->2`) but with # different `rel` values (`b` and `c`) graph <- graph %>% select_edges() %>% add_forward_edges_ws(rel = \"b\") %>% add_forward_edges_ws(rel = \"c\") %>% clear_selection() # Get the graph's edge data frame graph %>% get_edge_df() #> id from to rel #> 1 1 1 2 a #> 2 2 1 2 b #> 3 3 1 2 c"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_full_graph.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a fully connected graph — add_full_graph","title":"Add a fully connected graph — add_full_graph","text":"graph object class dgr_graph, add fully connected graph either without loops. graph object set directed, added graph edges pair nodes. undirected case, single edge link pair nodes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_full_graph.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a fully connected graph — add_full_graph","text":"","code":"add_full_graph( graph, n, type = NULL, label = TRUE, rel = NULL, edge_wt_matrix = NULL, keep_loops = FALSE, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_full_graph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a fully connected graph — add_full_graph","text":"graph graph object class dgr_graph. n number nodes comprising fully connected graph. type optional string describes entity type nodes added. label Either vector object length n provides optional labels new nodes, , boolean value setting TRUE ascribes node IDs label FALSE NULL yields blank label. rel optional string providing relationship label new edges created connected graph. edge_wt_matrix optional matrix n n dimensions containing values apply edge weights. matrix row names column names label = TRUE, row column names used node label values. keep_loops option simplify fully connected graph removing loops (edges node). default value FALSE. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_full_graph.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a fully connected graph — add_full_graph","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_full_graph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a fully connected graph — add_full_graph","text":"","code":"# Create a new graph object # and add a directed and fully # connected graph with 3 nodes # and edges to and from all # pairs of nodes; with the option # `keep_loops = TRUE` nodes # will also have edges from # and to themselves graph <- create_graph() %>% add_full_graph( n = 3, keep_loops = TRUE ) # Get node information # from this graph graph %>% get_node_info() #> id type label deg indeg outdeg loops #> 1 1 1 6 3 3 1 #> 2 2 2 6 3 3 1 #> 3 3 3 6 3 3 1 # Using `keep_loops = FALSE` # (the default) will remove # the loops create_graph() %>% add_full_graph(n = 3) %>% get_node_info() #> id type label deg indeg outdeg loops #> 1 1 1 4 2 2 0 #> 2 2 2 4 2 2 0 #> 3 3 3 4 2 2 0 # Values can be set for # the node `label`, node # `type`, and edge `rel` graph <- create_graph() %>% add_full_graph( n = 3, type = \"connected\", label = c(\"1st\", \"2nd\", \"3rd\"), rel = \"connected_to\" ) # Show the graph's node # data frame (ndf) graph %>% get_node_df() #> id type label #> 1 1 connected 1st #> 2 2 connected 2nd #> 3 3 connected 3rd # Show the graph's edge # data frame (edf) graph %>% get_edge_df() #> id from to rel #> 1 1 1 2 connected_to #> 2 2 1 3 connected_to #> 3 3 2 1 connected_to #> 4 4 2 3 connected_to #> 5 5 3 1 connected_to #> 6 6 3 2 connected_to # Create a fully-connected and # directed graph with 3 nodes, # and, where a matrix provides # edge weights; first, create the # matrix (with row names to be # used as node labels) suppressWarnings(RNGversion(\"3.5.0\")) set.seed(23) edge_wt_matrix <- rnorm(100, 5, 2) %>% sample(9, FALSE) %>% round(2) %>% matrix( ncol = 3, nrow = 3, dimnames = list(c(\"a\", \"b\", \"c\")) ) # Create the fully-connected # graph (without loops however) graph <- create_graph() %>% add_full_graph( n = 3, type = \"weighted\", label = TRUE, rel = \"related_to\", edge_wt_matrix = edge_wt_matrix, keep_loops = FALSE ) # Show the graph's node # data frame (ndf) graph %>% get_node_df() #> id type label #> 1 1 weighted a #> 2 2 weighted b #> 3 3 weighted c # Show the graph's edge # data frame (edf) graph %>% get_edge_df() #> id from to rel weight #> 1 1 1 2 related_to 3.30 #> 2 2 1 3 related_to 5.02 #> 3 3 2 1 related_to 4.13 #> 4 4 2 3 related_to 6.49 #> 5 5 3 1 related_to 6.03 #> 6 6 3 2 related_to 5.55 # An undirected graph can # also use a matrix with # edge weights, but only # the lower triangle of # that matrix will be used create_graph(directed = FALSE) %>% add_full_graph( n = 3, type = \"weighted\", label = TRUE, rel = \"related_to\", edge_wt_matrix = edge_wt_matrix, keep_loops = FALSE ) %>% get_edge_df() #> id from to rel weight #> 1 1 1 2 related_to 3.30 #> 2 2 1 3 related_to 5.02 #> 3 3 2 3 related_to 6.49"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_global_graph_attrs.html","id":null,"dir":"Reference","previous_headings":"","what":"Add one or more global graph attributes — add_global_graph_attrs","title":"Add one or more global graph attributes — add_global_graph_attrs","text":"Add global attributes specific type (either graph_attrs, node_attrs, edge_attrs graph object class dgr_graph).","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_global_graph_attrs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add one or more global graph attributes — add_global_graph_attrs","text":"","code":"add_global_graph_attrs(graph, attr, value, attr_type)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_global_graph_attrs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add one or more global graph attributes — add_global_graph_attrs","text":"graph graph object class dgr_graph. attr name attribute set type global attribute specified. value value set chosen attribute specified attr_for_type argument. attr_type specific type global graph attribute set. type specified graph, node, edge.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_global_graph_attrs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add one or more global graph attributes — add_global_graph_attrs","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_global_graph_attrs.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add one or more global graph attributes — add_global_graph_attrs","text":"","code":"# Create a new graph with no # global graph attributes and # add a global graph attribute graph <- create_graph( attr_theme = NULL) %>% add_global_graph_attrs( attr = \"overlap\", value = \"true\", attr_type = \"graph\") # Verify that the attribute # addition has been made graph %>% get_global_graph_attr_info() #> # A tibble: 1 × 3 #> attr value attr_type #> #> 1 overlap true graph # Add another attribute with # `add_global_graph_attrs()` graph <- graph %>% add_global_graph_attrs( attr = \"penwidth\", value = 12, attr_type = \"node\") # Verify that the attribute # addition has been made graph %>% get_global_graph_attr_info() #> # A tibble: 2 × 3 #> attr value attr_type #> #> 1 overlap true graph #> 2 penwidth 12 node # When adding an attribute where # `attr` and `attr_type` already # exists, the value provided will # serve as an update graph %>% add_global_graph_attrs( attr = \"penwidth\", value = 15, attr_type = \"node\") %>% get_global_graph_attr_info() #> # A tibble: 2 × 3 #> attr value attr_type #> #> 1 overlap true graph #> 2 penwidth 15 node"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnm_graph.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","title":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","text":"existing graph object, add graph built according Erdos-Renyi G(n, m) model. uses constant probability creating fixed number edges. Thus n nodes m edges , loops argument set TRUE, random loop edges part m.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnm_graph.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","text":"","code":"add_gnm_graph( graph, n, m, loops = FALSE, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL, set_seed = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnm_graph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","text":"graph graph object class dgr_graph. n number nodes comprising generated graph. m number edges generated graph. loops logical value (default FALSE) governs whether loops allowed created. type optional string describes entity type nodes added. label boolean value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label edges added. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges. set_seed Supplying value sets random seed Mersenne-Twister implementation.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnm_graph.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnm_graph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a G(n, m) Erdos-Renyi graph — add_gnm_graph","text":"","code":"# Create an undirected GNM # graph with 100 nodes and # 120 edges gnm_graph <- create_graph( directed = FALSE) %>% add_gnm_graph( n = 100, m = 120) # Get a count of nodes gnm_graph %>% count_nodes() #> [1] 100 # Get a count of edges gnm_graph %>% count_edges() #> [1] 120"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnp_graph.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","title":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","text":"existing graph object, add graph built according Erdos-Renyi G(n, p) model, uses constant probability creating edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnp_graph.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","text":"","code":"add_gnp_graph( graph, n, p, loops = FALSE, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL, set_seed = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnp_graph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","text":"graph graph object class dgr_graph. n number nodes comprising generated graph. p probability creating edge two arbitrary nodes. loops logical value (default FALSE) governs whether loops allowed created. type optional string describes entity type nodes added. label boolean value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label edges added. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges. set_seed Supplying value sets random seed Mersenne-Twister implementation.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnp_graph.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_gnp_graph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a G(n, p) Erdos-Renyi graph — add_gnp_graph","text":"","code":"# Create an undirected GNP # graph with 100 nodes using # a probability value of 0.05 gnp_graph <- create_graph( directed = FALSE) %>% add_gnp_graph( n = 100, p = 0.05) # Get a count of nodes gnp_graph %>% count_nodes() #> [1] 100 # Get a count of edges gnp_graph %>% count_edges() #> [1] 212"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_action.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a graph action for execution at every transform — add_graph_action","title":"Add a graph action for execution at every transform — add_graph_action","text":"Add graph function along arguments run every graph transformation step.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_action.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a graph action for execution at every transform — add_graph_action","text":"","code":"add_graph_action(graph, fcn, ..., action_name = NULL)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_action.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a graph action for execution at every transform — add_graph_action","text":"graph graph object class dgr_graph. fcn name function use. ... Arguments values pass named function fcn, necessary. action_name optional name labeling action.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_action.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a graph action for execution at every transform — add_graph_action","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_action.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a graph action for execution at every transform — add_graph_action","text":"","code":"# Create a random graph using the # `add_gnm_graph()` function graph <- create_graph() %>% add_gnm_graph( n = 10, m = 22, set_seed = 23) # Add a graph action that sets a node # attr column with a function; the # main function `set_node_attr_w_fcn()` # uses the `get_betweenness()` function # to provide betweenness values in the # `btwns` column; this action will # occur whenever there is a function # called on the graph that modifies it # (e.g., `add_n_nodes()`) graph <- graph %>% add_graph_action( fcn = \"set_node_attr_w_fcn\", node_attr_fcn = \"get_betweenness\", column_name = \"btwns\", action_name = \"get_btwns\") # To ensure that the action is # available in the graph, use the # `get_graph_actions()` function graph %>% get_graph_actions() #> # A tibble: 1 × 3 #> action_index action_name expression #> #> 1 1 get_btwns set_node_attr_w_fcn(graph = graph, node_attr_fcn = '…"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_to_graph_series.html","id":null,"dir":"Reference","previous_headings":"","what":"Add graph object to a graph series object — add_graph_to_graph_series","title":"Add graph object to a graph series object — add_graph_to_graph_series","text":"Add graph object extant graph series object storage multiple graphs across sequential temporal one-dimensional array.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_to_graph_series.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add graph object to a graph series object — add_graph_to_graph_series","text":"","code":"add_graph_to_graph_series(graph_series, graph)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_to_graph_series.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add graph object to a graph series object — add_graph_to_graph_series","text":"graph_series graph series object graph object added. graph graph object add graph series object.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_to_graph_series.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add graph object to a graph series object — add_graph_to_graph_series","text":"graph series object type dgr_graph_1D.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_graph_to_graph_series.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add graph object to a graph series object — add_graph_to_graph_series","text":"","code":"# Create three graphs graph_1 <- create_graph() %>% add_path(n = 4) graph_2 <- create_graph() %>% add_cycle(n = 5) graph_3 <- create_graph() %>% add_star(n = 6) # Create an empty graph series # and add the graphs series <- create_graph_series() %>% add_graph_to_graph_series( graph = graph_1) %>% add_graph_to_graph_series( graph = graph_2) %>% add_graph_to_graph_series( graph = graph_3) # Count the number of graphs # in the graph series series %>% count_graphs_in_graph_series() #> [1] 3"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_2d.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a 2D grid of nodes to the graph — add_grid_2d","title":"Add a 2D grid of nodes to the graph — add_grid_2d","text":"graph object class dgr_graph, add two-dimensional grid graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_2d.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a 2D grid of nodes to the graph — add_grid_2d","text":"","code":"add_grid_2d( graph, x, y, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_2d.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a 2D grid of nodes to the graph — add_grid_2d","text":"graph graph object class dgr_graph. x number nodes x direction. y number nodes y direction. type optional string describes entity type nodes added. label Either vector object length x * y provides optional labels new nodes, , logical value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label new edges created grid. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_2d.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a 2D grid of nodes to the graph — add_grid_2d","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_2d.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a 2D grid of nodes to the graph — add_grid_2d","text":"","code":"# Create a new graph and add # a 3 x 3 grid graph <- create_graph() %>% add_grid_2d( x = 3, y = 3, type = \"grid\") # Get node information # from this graph graph %>% get_node_info() #> id type label deg indeg outdeg loops #> 1 1 grid 1 2 0 2 0 #> 2 2 grid 2 3 1 2 0 #> 3 3 grid 3 2 1 1 0 #> 4 4 grid 4 3 1 2 0 #> 5 5 grid 5 4 2 2 0 #> 6 6 grid 6 3 2 1 0 #> 7 7 grid 7 2 1 1 0 #> 8 8 grid 8 3 2 1 0 #> 9 9 grid 9 2 2 0 0 # Attributes can be specified # in extra arguments and these # are applied in order; Usually # these attributes are applied # to nodes (e.g., `type` is a # node attribute) but the `rel` # attribute will apply to the # edges graph_w_attrs <- create_graph() %>% add_grid_2d( x = 3, y = 2, label = c(\"one\", \"two\", \"three\", \"four\", \"five\", \"six\"), type = c(\"a\", \"a\", \"b\", \"b\", \"c\", \"c\"), rel = \"grid\", node_data = node_data( value = c( 1.2, 8.4, 3.4, 5.2, 6.1, 2.6))) # Get the graph's node data frame graph_w_attrs %>% get_node_df() #> id type label value #> 1 1 a one 1.2 #> 2 2 a two 8.4 #> 3 3 b three 3.4 #> 4 4 b four 5.2 #> 5 5 c five 6.1 #> 6 6 c six 2.6 # Get the graph's edge data frame graph_w_attrs %>% get_edge_df() #> id from to rel #> 1 1 1 2 grid #> 2 2 1 4 grid #> 3 3 2 3 grid #> 4 4 2 5 grid #> 5 5 3 6 grid #> 6 6 4 5 grid #> 7 7 5 6 grid"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_3d.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a 3D grid of nodes to the graph — add_grid_3d","title":"Add a 3D grid of nodes to the graph — add_grid_3d","text":"graph object class dgr_graph, add three-dimensional grid graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_3d.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a 3D grid of nodes to the graph — add_grid_3d","text":"","code":"add_grid_3d( graph, x, y, z, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_3d.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a 3D grid of nodes to the graph — add_grid_3d","text":"graph graph object class dgr_graph. x number nodes x direction. y number nodes y direction. z number nodes z direction. type optional string describes entity type nodes added. label Either vector object length x * y * z provides optional labels new nodes, , logical value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label new edges created grid. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_3d.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a 3D grid of nodes to the graph — add_grid_3d","text":"graph object class dgr_graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_grid_3d.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a 3D grid of nodes to the graph — add_grid_3d","text":"","code":"# Create a new graph and add # a 2 x 2 x 2 grid graph <- create_graph() %>% add_grid_3d( x = 2, y = 2, z = 2, type = \"grid\") # Get node information # from this graph graph %>% get_node_info() #> id type label deg indeg outdeg loops #> 1 1 grid 1 3 0 3 0 #> 2 2 grid 2 3 1 2 0 #> 3 3 grid 3 3 1 2 0 #> 4 4 grid 4 3 2 1 0 #> 5 5 grid 5 3 1 2 0 #> 6 6 grid 6 3 2 1 0 #> 7 7 grid 7 3 2 1 0 #> 8 8 grid 8 3 3 0 0 # Attributes can be specified # in extra arguments and these # are applied in order; Usually # these attributes are applied # to nodes (e.g., `type` is a # node attribute) but the `rel` # attribute will apply to the # edges graph_w_attrs <- create_graph() %>% add_grid_3d( x = 2, y = 2, z = 2, label = c( \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\"), type = c( \"a\", \"a\", \"b\", \"b\", \"c\", \"c\", \"d\", \"d\"), rel = \"grid\", node_data = node_data( value = c( 1.2, 8.4, 3.4, 5.2, 6.1, 2.6, 6.3, 9.3))) # Get the graph's node data frame graph_w_attrs %>% get_node_df() #> id type label value #> 1 1 a one 1.2 #> 2 2 a two 8.4 #> 3 3 b three 3.4 #> 4 4 b four 5.2 #> 5 5 c five 6.1 #> 6 6 c six 2.6 #> 7 7 d seven 6.3 #> 8 8 d eight 9.3 # Get the graph's edge data frame graph_w_attrs %>% get_edge_df() #> id from to rel #> 1 1 1 2 grid #> 2 2 1 3 grid #> 3 3 1 5 grid #> 4 4 2 4 grid #> 5 5 2 6 grid #> 6 6 3 4 grid #> 7 7 3 7 grid #> 8 8 4 8 grid #> 9 9 5 6 grid #> 10 10 5 7 grid #> 11 11 6 8 grid #> 12 12 7 8 grid"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_growing_graph.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a random growing graph with m edges added per step — add_growing_graph","title":"Create a random growing graph with m edges added per step — add_growing_graph","text":"existing graph object, add graph built adding m new edges time step (node added).","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_growing_graph.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a random growing graph with m edges added per step — add_growing_graph","text":"","code":"add_growing_graph( graph, n, m = 1, citation = FALSE, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL, set_seed = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_growing_graph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a random growing graph with m edges added per step — add_growing_graph","text":"graph graph object class dgr_graph. n number nodes comprising generated graph. m number edges added per time step. citation logical value (default FALSE) governs whether citation graph created. new edges specifically originate newly added node recent time step. type optional string describes entity type nodes added. label logical value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label edges added. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges. set_seed Supplying value sets random seed Mersenne-Twister implementation.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_growing_graph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a random growing graph with m edges added per step — add_growing_graph","text":"","code":"# Create a random, growing # citation graph with 100 # nodes, adding an edge after # each node addition growing_graph <- create_graph() %>% add_growing_graph( n = 100, m = 1, citation = TRUE, set_seed = 23) # Get a count of nodes growing_graph %>% count_nodes() #> [1] 100 # Get a count of edges growing_graph %>% count_edges() #> [1] 99"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_islands_graph.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a random islands graph with edges between the islands — add_islands_graph","title":"Create a random islands graph with edges between the islands — add_islands_graph","text":"existing graph object, add several Erdos-Renyi random graphs (islands) using common set parameters, connected together fixed number edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_islands_graph.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a random islands graph with edges between the islands — add_islands_graph","text":"","code":"add_islands_graph( graph, n_islands, island_size, p, edges_between, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL, set_seed = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_islands_graph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a random islands graph with edges between the islands — add_islands_graph","text":"graph graph object class dgr_graph. n_islands number islands generated graph. island_size size islands generated graph. p probability edges islands. edges_between number edges islands. type optional string describes entity type nodes added. label logical value setting TRUE ascribes node IDs label FALSE yields blank label. rel optional string providing relationship label edges added. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges. set_seed Supplying value sets random seed Mersenne-Twister implementation.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_islands_graph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a random islands graph with edges between the islands — add_islands_graph","text":"","code":"# Create a graph of islands islands_graph <- create_graph() %>% add_islands_graph( n_islands = 4, island_size = 10, p = 0.5, edges_between = 1, set_seed = 23) # Get a count of nodes islands_graph %>% count_nodes() #> [1] 40 # Get a count of edges islands_graph %>% count_edges() #> [1] 107"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_mathjax.html","id":null,"dir":"Reference","previous_headings":"","what":"Add MathJax-formatted equation text — add_mathjax","title":"Add MathJax-formatted equation text — add_mathjax","text":"Add MathJax-formatted equation text","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_mathjax.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add MathJax-formatted equation text — add_mathjax","text":"","code":"add_mathjax(gv = NULL, include_mathjax = TRUE)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_mathjax.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add MathJax-formatted equation text — add_mathjax","text":"gv grViz htmlwidget. include_mathjax logical add mathjax JS. Change FALSE using rmarkdown since MathJax likely already added.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_mathjax.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add MathJax-formatted equation text — add_mathjax","text":"grViz htmlwidget","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_node_clones.html","id":null,"dir":"Reference","previous_headings":"","what":"Add one or several clones of an existing node to the graph — add_n_node_clones","title":"Add one or several clones of an existing node to the graph — add_n_node_clones","text":"Add n new nodes graph object class dgr_graph clones node already graph. node attributes preserved except node label attribute (maintain uniqueness non-NA node label values). vector node label can provided bind new labels cloned nodes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_node_clones.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add one or several clones of an existing node to the graph — add_n_node_clones","text":"","code":"add_n_node_clones(graph, n, node, label = NULL)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_node_clones.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add one or several clones of an existing node to the graph — add_n_node_clones","text":"graph graph object class dgr_graph. n number node clones add graph. node node ID corresponding graph node cloned. label optional vector node label values. vector length correspond value set n.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_node_clones.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add one or several clones of an existing node to the graph — add_n_node_clones","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_node_clones.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add one or several clones of an existing node to the graph — add_n_node_clones","text":"","code":"# Create a graph with a path of # nodes; supply `label`, `type`, # and `value` node attributes graph <- create_graph() %>% add_path( n = 3, label = c(\"d\", \"g\", \"r\"), type = c(\"a\", \"b\", \"c\")) # Display the graph's internal # node data frame graph %>% get_node_df() #> id type label #> 1 1 a d #> 2 2 b g #> 3 3 c r # Create 3 clones of node `1` # but assign new node label # values (leaving `label` as # NULL yields NA values) graph <- graph %>% add_n_node_clones( n = 3, node = 1, label = c(\"x\", \"y\", \"z\")) # Display the graph's internal # node data frame: nodes `4`, # `5`, and `6` are clones of `1` graph %>% get_node_df() #> id type label #> 1 1 a d #> 2 2 b g #> 3 3 c r #> 4 4 a x #> 5 5 a y #> 6 6 a z"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes.html","id":null,"dir":"Reference","previous_headings":"","what":"Add one or several unconnected nodes to the graph — add_n_nodes","title":"Add one or several unconnected nodes to the graph — add_n_nodes","text":"Add n new nodes graph object class dgr_graph. Optionally, set node type values new nodes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add one or several unconnected nodes to the graph — add_n_nodes","text":"","code":"add_n_nodes( graph, n, type = NULL, label = NULL, node_aes = NULL, node_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add one or several unconnected nodes to the graph — add_n_nodes","text":"graph graph object class dgr_graph. n number new nodes add graph. type optional character vector provides group identifiers nodes added. label optional character object describes nodes added. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add one or several unconnected nodes to the graph — add_n_nodes","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add one or several unconnected nodes to the graph — add_n_nodes","text":"","code":"# Create an empty graph and # add 5 nodes; these nodes # will be assigned ID values # from `1` to `5` graph <- create_graph() %>% add_n_nodes(n = 5) # Get the graph's node IDs graph %>% get_node_ids() #> [1] 1 2 3 4 5"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes_ws.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","title":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","text":"Add n new nodes one nodes available selection graph object class dgr_graph. New graph edges move either nodes selection toward newly created nodes (option direction = \"\"), selected nodes already graph (using direction = \"\"). Optionally, set node type edge rel values new nodes edges created, respectively. function makes use active selection nodes (function ending _ws hints ). Selections nodes can performed using following node selection (select_*()) functions: select_nodes(), select_last_nodes_created(), select_nodes_by_degree(), select_nodes_by_id(), select_nodes_in_neighborhood(). Selections nodes can also performed using following traversal (trav_*()) functions: trav_out(), trav_in(), trav_both(), trav_out_node(), trav_in_node(), trav_out_until(), trav_in_until().","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes_ws.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","text":"","code":"add_n_nodes_ws( graph, n, direction = NULL, type = NULL, label = NULL, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes_ws.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","text":"graph graph object class dgr_graph. n number new nodes attach successor nodes nodes selection. direction Using create new edges existing nodes new nodes. option create new edges directed toward existing nodes. type optional character vector provides group identifiers nodes added. label optional character object describes nodes added. rel optional string apply rel attribute newly created edges. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes_ws.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_n_nodes_ws.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a multiple of new nodes with edges to or from one or more selected nodes — add_n_nodes_ws","text":"","code":"# Create an empty graph, add a node to it, select # that node, and then add 5 more nodes to the graph # with edges from the original node to all of the # new nodes graph <- create_graph() %>% add_n_nodes(n = 1) %>% select_last_nodes_created() %>% add_n_nodes_ws( n = 5, direction = \"from\") # Get the graph's nodes graph %>% get_node_ids() #> [1] 1 2 3 4 5 6 # Get the graph's edges graph %>% get_edges() #> [1] \"1->2\" \"1->3\" \"1->4\" \"1->5\" \"1->6\" # Create an empty graph, add a node to it, select # that node, and then add 5 more nodes to the graph # with edges toward the original node from all of # the new nodes graph <- create_graph() %>% add_n_nodes(n = 1) %>% select_last_nodes_created() %>% add_n_nodes_ws( n = 5, direction = \"to\") # Get the graph's nodes graph %>% get_node_ids() #> [1] 1 2 3 4 5 6 # Get the graph's edges graph %>% get_edges() #> [1] \"2->1\" \"3->1\" \"4->1\" \"5->1\" \"6->1\""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a node to an existing graph object — add_node","title":"Add a node to an existing graph object — add_node","text":"graph object class dgr_graph, add new node graph. One can optionally provide node attributes created node. also option create edges existing nodes graph. new edges can also created function, possibility set edge attributes new graph edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a node to an existing graph object — add_node","text":"","code":"add_node( graph, type = NULL, label = NULL, from = NULL, to = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a node to an existing graph object — add_node","text":"graph graph object class dgr_graph. type optional character object acts group identifier node added. label optional character object describes node. optional vector containing node IDs edges directed new node. optional vector containing node IDs edges directed new node. node_aes optional list named vectors comprising node aesthetic attributes. helper function node_aes() strongly recommended use contains arguments accepted node aesthetic attributes (e.g., shape, style, color, fillcolor). edge_aes optional list named vectors comprising edge aesthetic attributes. helper function edge_aes() strongly recommended use contains arguments accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). node_data optional list named vectors comprising node data attributes. helper function node_data() strongly recommended use helps bind data specifically created nodes. edge_data optional list named vectors comprising edge data attributes. helper function edge_data() strongly recommended use helps bind data specifically created edges.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add a node to an existing graph object — add_node","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a node to an existing graph object — add_node","text":"","code":"# Create an empty graph and add 2 nodes by using # the `add_node()` function twice graph <- create_graph() %>% add_node() %>% add_node() # Get a count of all nodes # in the graph graph %>% count_nodes() #> [1] 2 # The nodes added were given # ID values `1` and `2`; obtain # the graph's node IDs graph %>% get_node_ids() #> [1] 1 2 # Add a node with a `type` # value defined graph <- graph %>% add_node(type = \"person\") # View the graph's internal # node data frame (ndf) graph %>% get_node_df() #> id type label #> 1 1 #> 2 2 #> 3 3 person "},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_clones_ws.html","id":null,"dir":"Reference","previous_headings":"","what":"Add clones of a selection of nodes — add_node_clones_ws","title":"Add clones of a selection of nodes — add_node_clones_ws","text":"Add new nodes graph object class dgr_graph clones nodes active selection nodes. node attributes preserved except node label attribute (maintain uniqueness non-NA node label values). vector node label can provided bind new labels cloned nodes. function makes use active selection nodes (function ending _ws hints ). Selections nodes can performed using following node selection (select_*()) functions: select_nodes(), select_last_nodes_created(), select_nodes_by_degree(), select_nodes_by_id(), select_nodes_in_neighborhood(). Selections nodes can also performed using following traversal (trav_*()) functions: trav_out(), trav_in(), trav_both(), trav_out_node(), trav_in_node(), trav_out_until(), trav_in_until().","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_clones_ws.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add clones of a selection of nodes — add_node_clones_ws","text":"","code":"add_node_clones_ws(graph, add_edges = FALSE, direction = NULL, label = NULL)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_clones_ws.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add clones of a selection of nodes — add_node_clones_ws","text":"graph graph object class dgr_graph. add_edges option whether add edges selected nodes clones, , opposite direction. direction Using create new edges existing nodes new, cloned nodes. option create new edges directed toward existing nodes. label optional vector node label values. vector length correspond number nodes active selection nodes.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_clones_ws.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add clones of a selection of nodes — add_node_clones_ws","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_clones_ws.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add clones of a selection of nodes — add_node_clones_ws","text":"","code":"# Create a graph with a path of # nodes; supply `label`, `type`, # and `value` node attributes, # and select the created nodes graph <- create_graph() %>% add_path( n = 3, label = c(\"d\", \"g\", \"r\"), type = c(\"a\", \"b\", \"c\")) %>% select_last_nodes_created() # Display the graph's internal # node data frame graph %>% get_node_df() #> id type label #> 1 1 a d #> 2 2 b g #> 3 3 c r # Create clones of all nodes # in the selection but assign # new node label values # (leaving `label` as NULL # yields NA values) graph <- graph %>% add_node_clones_ws( label = c(\"a\", \"b\", \"v\")) # Display the graph's internal # node data frame: nodes `4`, # `5`, and `6` are clones of # `1`, `2`, and `3` graph %>% get_node_df() #> id type label #> 1 1 a d #> 2 2 b g #> 3 3 c r #> 4 4 a a #> 5 5 b b #> 6 6 c v # Select the last nodes # created (`4`, `5`, and `6`) # and clone those nodes and # their attributes while # creating new edges between # the new and existing nodes graph <- graph %>% select_last_nodes_created() %>% add_node_clones_ws( add_edges = TRUE, direction = \"to\", label = c(\"t\", \"z\", \"s\")) # Display the graph's internal # edge data frame; there are # edges between the selected # nodes and their clones graph %>% get_edge_df() #> id from to rel #> 1 1 1 2 #> 2 2 2 3 #> 3 3 4 7 #> 4 4 5 8 #> 5 5 6 9 "},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_df.html","id":null,"dir":"Reference","previous_headings":"","what":"Add nodes from a node data frame to an existing graph object — add_node_df","title":"Add nodes from a node data frame to an existing graph object — add_node_df","text":"graph object class dgr_graph add nodes node data frame graph.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_df.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add nodes from a node data frame to an existing graph object — add_node_df","text":"","code":"add_node_df(graph, node_df)"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_df.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add nodes from a node data frame to an existing graph object — add_node_df","text":"graph graph object class dgr_graph. node_df node data frame created using create_node_df().","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_df.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add nodes from a node data frame to an existing graph object — add_node_df","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_node_df.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add nodes from a node data frame to an existing graph object — add_node_df","text":"","code":"# Create an empty graph graph <- create_graph() # Create a node data frame (ndf) ndf <- create_node_df(n = 2) # Add the node data frame to # the graph object to create # a graph with nodes graph <- graph %>% add_node_df( node_df = ndf) # Inspect the graph's ndf graph %>% get_node_df() #> id type label #> 1 1 #> 2 2 # Create another ndf ndf_2 <- create_node_df(n = 3) # Add the second node data # frame to the graph object # to add more nodes with # attributes to the graph graph <- graph %>% add_node_df( node_df = ndf_2) # View the graph's internal # node data frame using the # `get_node_df()` function graph %>% get_node_df() #> id type label #> 1 1 #> 2 2 #> 3 3 #> 4 4 #> 5 5 "},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_df_cols.html","id":null,"dir":"Reference","previous_headings":"","what":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","title":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","text":"Add new nodes graph object class dgr_graph using distinct values one columns data frame. values serve node labels number nodes added depends number distinct values found specified columns.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_df_cols.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","text":"","code":"add_nodes_from_df_cols( graph, df, columns, type = NULL, keep_duplicates = FALSE )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_df_cols.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","text":"graph graph object class dgr_graph. df data frame values taken new nodes graph. columns character vector column names numeric vector column numbers data frame supplied df. distinct values columns serve labels nodes added graph. type optional, single-length character vector provides group identifier nodes added graph. keep_duplicates option exclude incoming nodes labels (.e., values found columns specified df) match label values available graph's nodes. default, set FALSE.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_df_cols.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_df_cols.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add nodes from distinct values in data frame columns — add_nodes_from_df_cols","text":"","code":"# Create an empty graph graph <- create_graph() # Create a data frame from # which several columns have # values designated as graph nodes df <- data.frame( col_1 = c(\"f\", \"p\", \"q\"), col_2 = c(\"q\", \"x\", \"f\"), col_3 = c(1, 5, 3), col_4 = c(\"a\", \"v\", \"h\"), stringsAsFactors = FALSE) # Add nodes from columns `col_1` # and `col_2` from the data frame # to the graph object graph <- graph %>% add_nodes_from_df_cols( df = df, columns = c(\"col_1\", \"col_2\")) # Show the graph's node data # frame; duplicate labels are # prevented with `keep_duplicates = # FALSE`) graph %>% get_node_df() #> id type label #> 1 1 f #> 2 2 p #> 3 3 q #> 4 4 x # Add new nodes from columns 3 and 4; # We can specify the columns by their # numbers as well graph <- graph %>% add_nodes_from_df_cols( df = df, columns = 3:4) # Show the graph's node data # frame; note that nodes didn't # get made with columns that # are not character class columns graph %>% get_node_df() #> id type label #> 1 1 f #> 2 2 p #> 3 3 q #> 4 4 x #> 5 5 a #> 6 6 v #> 7 7 h"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_table.html","id":null,"dir":"Reference","previous_headings":"","what":"Add nodes and attributes to graph from a table — add_nodes_from_table","title":"Add nodes and attributes to graph from a table — add_nodes_from_table","text":"Add nodes attributes existing graph object data CSV file data frame.","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_table.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add nodes and attributes to graph from a table — add_nodes_from_table","text":"","code":"add_nodes_from_table( graph, table, label_col = NULL, type_col = NULL, set_type = NULL, drop_cols = NULL )"},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_table.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add nodes and attributes to graph from a table — add_nodes_from_table","text":"graph graph object class dgr_graph. table Either path CSV file, , data frame object. label_col option apply column data table label attribute values. type_col option apply column data table type attribute values. set_type optional string apply type attribute nodes created data external table. drop_cols optional column selection statement dropping columns external table inclusion attributes graph's internal node data frame. Several columns can dropped name using syntax col_1 & col_2 & .... Columns can also dropped using numeric column range : (e.g., 5:8), , using : column names specify range (e.g., col_5_name:col_8_name).","code":""},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_table.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add nodes and attributes to graph from a table — add_nodes_from_table","text":"graph object class dgr_graph.","code":""},{"path":[]},{"path":"https://rich-iannone.github.io/DiagrammeR/reference/add_nodes_from_table.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add nodes and attributes to graph from a table — add_nodes_from_table","text":"","code":"# To add nodes from the dataset called # `currencies` (available as a dataset # in the package), call the # `add_nodes_from_table()` function # after creating an empty graph; new # node ID values will be created as # monotonically-increasing values graph_1 <- create_graph() %>% add_nodes_from_table( table = currencies) # View part of the graph's internal # node data frame (ndf) graph_1 %>% get_node_df() %>% .[, 1:5] %>% head() #> id type label iso_4217_code curr_number #> 1 1 AED 784 #> 2 2 AFN 971 #> 3 3 ALL 8 #> 4 4 AMD 51 #> 5 5 ANG 532 #> 6 6
select_last_nodes_created()
select_last_edges_created()
graph %>% render_graph()
If you’d like to return the Graphviz DOT code (to, perhaps, share it +
If you’d like to return the Graphviz DOT code (to, perhaps, share it or use it directly with the Graphviz command-line utility), we can use the generate_dot() function. Here’s a simple example:
generate_dot()
diff --git a/articles/simple-graphs-ndfs-edfs_files/grViz-binding-1.0.11.9000/grViz.js b/articles/simple-graphs-ndfs-edfs_files/grViz-binding-1.0.11.9000/grViz.js new file mode 100644 index 00000000..f8013172 --- /dev/null +++ b/articles/simple-graphs-ndfs-edfs_files/grViz-binding-1.0.11.9000/grViz.js @@ -0,0 +1,91 @@ +HTMLWidgets.widget({ + + name: 'grViz', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + }; + }, + + renderValue: function(el, x, instance) { + // Use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if (svg) { + if (svg.width) {svg.removeAttribute("width")} + if (svg.height) {svg.removeAttribute("height")} + svg.style.width = "100%"; + svg.style.height = "100%"; + } + } + + if (x.diagram !== "") { + + if (typeof x.config === "undefined"){ + x.config = {}; + x.config.engine = "dot"; + x.config.options = {}; + } + + try { + + el.innerHTML = Viz(x.diagram, format="svg", engine=x.config.engine, options=x.config.options); + + makeResponsive(el); + + if (HTMLWidgets.shinyMode) { + // Get widget id + var id = el.id; + + $("#" + id + " .node").click(function(e) { + // Get node id + var nodeid = e.currentTarget.id; + // Get node text object and make an array + var node_texts = $("#" + id + " #" + nodeid + " text"); + //var node_path = $("#" + nodeid + " path")[0]; + var text_array = node_texts.map(function() {return $(this).text(); }).toArray(); + // Build return object *obj* with node-id, node text values and node fill + var obj = { + id: nodeid, + //fill: node_path.attributes.fill.nodeValue, + //outerHMTL: node_path.outerHTML, + nodeValues: text_array + }; + // Send *obj* to Shiny's inputs (input$[id]+_click e.g.: input$vtree_click)) + Shiny.setInputValue(id + "_click", obj, {priority: "event"}); + }); + } + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (typeof x.tasks !== "undefined") { + if ((typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function")) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }); + } + } catch(e){ + var p = document.createElement("pre"); + p.innerText = e; + el.appendChild(p); + } + } + + }, + + resize: function(el, width, height, instance) { + } +}); diff --git a/articles/traversals.html b/articles/traversals.html index 4513691c..0d795b4f 100644 --- a/articles/traversals.html +++ b/articles/traversals.html @@ -33,7 +33,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -80,7 +80,7 @@ - + Traversals @@ -229,8 +229,8 @@ Traversals Across Nodes ) graph_1 %>% render_graph() - -We can now take the selection (still the central node 1) + +We can now take the selection (still the central node 1) and traverse via outbound edges to adjacent nodes: 2, 3, 4, 5, and 6. @@ -317,8 +317,8 @@ Traversals Across Nodes # View the created graph graph %>% render_graph() - - + + graph %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% @@ -352,8 +352,8 @@ Traversals Across Nodes # View the updated graph updated_graph %>% render_graph() - -We are not limited to starting a traversal from a single node ID + +We are not limited to starting a traversal from a single node ID value. We can, for example, begin from a selection of nodes based on a regular expression and traverse to a matching type string value (or to other node attributes that have character @@ -399,8 +399,8 @@ Traversals Across Nodes # View the graph graph %>% render_graph() - - + + # View the internal NDF for sake of # reference graph %>% get_node_df() @@ -624,8 +624,8 @@ Traversals from Nodes to Edges) graph %>% render_graph() - - + + diff --git a/articles/traversals_files/grViz-binding-1.0.11.9000/grViz.js b/articles/traversals_files/grViz-binding-1.0.11.9000/grViz.js new file mode 100644 index 00000000..f8013172 --- /dev/null +++ b/articles/traversals_files/grViz-binding-1.0.11.9000/grViz.js @@ -0,0 +1,91 @@ +HTMLWidgets.widget({ + + name: 'grViz', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + }; + }, + + renderValue: function(el, x, instance) { + // Use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if (svg) { + if (svg.width) {svg.removeAttribute("width")} + if (svg.height) {svg.removeAttribute("height")} + svg.style.width = "100%"; + svg.style.height = "100%"; + } + } + + if (x.diagram !== "") { + + if (typeof x.config === "undefined"){ + x.config = {}; + x.config.engine = "dot"; + x.config.options = {}; + } + + try { + + el.innerHTML = Viz(x.diagram, format="svg", engine=x.config.engine, options=x.config.options); + + makeResponsive(el); + + if (HTMLWidgets.shinyMode) { + // Get widget id + var id = el.id; + + $("#" + id + " .node").click(function(e) { + // Get node id + var nodeid = e.currentTarget.id; + // Get node text object and make an array + var node_texts = $("#" + id + " #" + nodeid + " text"); + //var node_path = $("#" + nodeid + " path")[0]; + var text_array = node_texts.map(function() {return $(this).text(); }).toArray(); + // Build return object *obj* with node-id, node text values and node fill + var obj = { + id: nodeid, + //fill: node_path.attributes.fill.nodeValue, + //outerHMTL: node_path.outerHTML, + nodeValues: text_array + }; + // Send *obj* to Shiny's inputs (input$[id]+_click e.g.: input$vtree_click)) + Shiny.setInputValue(id + "_click", obj, {priority: "event"}); + }); + } + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (typeof x.tasks !== "undefined") { + if ((typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function")) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }); + } + } catch(e){ + var p = document.createElement("pre"); + p.innerText = e; + el.appendChild(p); + } + } + + }, + + resize: function(el, width, height, instance) { + } +}); diff --git a/authors.html b/authors.html index 8a305d8d..d460d88e 100644 --- a/authors.html +++ b/authors.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -72,14 +72,14 @@ Citation Iannone R, Roy O (2024). DiagrammeR: Graph/Network Visualization. -R package version 1.0.11, +R package version 1.0.11.9000, https://github.com/rich-iannone/DiagrammeR, https://rich-iannone.github.io/DiagrammeR/. @Manual{, title = {DiagrammeR: Graph/Network Visualization}, author = {Richard Iannone and Olivier Roy}, year = {2024}, - note = {R package version 1.0.11, + note = {R package version 1.0.11.9000, https://github.com/rich-iannone/DiagrammeR}, url = {https://rich-iannone.github.io/DiagrammeR/}, } diff --git a/index.html b/index.html index cd342a64..9913dfff 100644 --- a/index.html +++ b/index.html @@ -45,7 +45,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/news/index.html b/news/index.html index 31b54605..3972105d 100644 --- a/news/index.html +++ b/news/index.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -54,6 +54,9 @@ Source: NEWS.md + +DiagrammeR (development version) + DiagrammeR 1.0.11CRAN release: 2024-02-02 DiagrammeR now has a dependency on viridisLite instead of viridis (@olivroy, #511) diff --git a/pkgdown.yml b/pkgdown.yml index 20573e96..9f5cff43 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -7,7 +7,7 @@ articles: selections: selections.html simple-graphs-ndfs-edfs: simple-graphs-ndfs-edfs.html traversals: traversals.html -last_built: 2024-02-03T18:44Z +last_built: 2024-02-03T18:47Z urls: reference: https://rich-iannone.github.io/DiagrammeR/reference article: https://rich-iannone.github.io/DiagrammeR/articles diff --git a/reference/DiagrammeR-package.html b/reference/DiagrammeR-package.html index 550e23f7..7cb9fc61 100644 --- a/reference/DiagrammeR-package.html +++ b/reference/DiagrammeR-package.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/DiagrammeR.html b/reference/DiagrammeR.html index 55505613..76abf86a 100644 --- a/reference/DiagrammeR.html +++ b/reference/DiagrammeR.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/DiagrammeROutput.html b/reference/DiagrammeROutput.html index 81ce9728..66db43a8 100644 --- a/reference/DiagrammeROutput.html +++ b/reference/DiagrammeROutput.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_balanced_tree.html b/reference/add_balanced_tree.html index 137c260d..7ba46dfe 100644 --- a/reference/add_balanced_tree.html +++ b/reference/add_balanced_tree.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_cycle.html b/reference/add_cycle.html index 92309dfb..75822dcb 100644 --- a/reference/add_cycle.html +++ b/reference/add_cycle.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edge.html b/reference/add_edge.html index 8d50723e..a2095c90 100644 --- a/reference/add_edge.html +++ b/reference/add_edge.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edge_clone.html b/reference/add_edge_clone.html index 223378a3..2b5af441 100644 --- a/reference/add_edge_clone.html +++ b/reference/add_edge_clone.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edge_df.html b/reference/add_edge_df.html index 85d6ec8b..f6532e39 100644 --- a/reference/add_edge_df.html +++ b/reference/add_edge_df.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edges_from_table.html b/reference/add_edges_from_table.html index a618b825..7a1da015 100644 --- a/reference/add_edges_from_table.html +++ b/reference/add_edges_from_table.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_edges_w_string.html b/reference/add_edges_w_string.html index 4256e8b0..b87f624f 100644 --- a/reference/add_edges_w_string.html +++ b/reference/add_edges_w_string.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_forward_edges_ws.html b/reference/add_forward_edges_ws.html index b25c21d7..65a17c1c 100644 --- a/reference/add_forward_edges_ws.html +++ b/reference/add_forward_edges_ws.html @@ -36,7 +36,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_full_graph.html b/reference/add_full_graph.html index 656b9d4b..a754108f 100644 --- a/reference/add_full_graph.html +++ b/reference/add_full_graph.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_global_graph_attrs.html b/reference/add_global_graph_attrs.html index 46faeff2..a4c34952 100644 --- a/reference/add_global_graph_attrs.html +++ b/reference/add_global_graph_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_gnm_graph.html b/reference/add_gnm_graph.html index de865b4d..94479a05 100644 --- a/reference/add_gnm_graph.html +++ b/reference/add_gnm_graph.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_gnp_graph.html b/reference/add_gnp_graph.html index 8b811a3b..6cb77dbb 100644 --- a/reference/add_gnp_graph.html +++ b/reference/add_gnp_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_graph_action.html b/reference/add_graph_action.html index 0be2bee9..87ae0ff2 100644 --- a/reference/add_graph_action.html +++ b/reference/add_graph_action.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_graph_to_graph_series.html b/reference/add_graph_to_graph_series.html index 1e459fa2..9f32b83f 100644 --- a/reference/add_graph_to_graph_series.html +++ b/reference/add_graph_to_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_grid_2d.html b/reference/add_grid_2d.html index ca999ef2..2becab0a 100644 --- a/reference/add_grid_2d.html +++ b/reference/add_grid_2d.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_grid_3d.html b/reference/add_grid_3d.html index e177f14a..1c277626 100644 --- a/reference/add_grid_3d.html +++ b/reference/add_grid_3d.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_growing_graph.html b/reference/add_growing_graph.html index 1fcda567..121a6973 100644 --- a/reference/add_growing_graph.html +++ b/reference/add_growing_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_islands_graph.html b/reference/add_islands_graph.html index 75c4e086..5ab7529d 100644 --- a/reference/add_islands_graph.html +++ b/reference/add_islands_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_mathjax.html b/reference/add_mathjax.html index a9298f62..8f2740b5 100644 --- a/reference/add_mathjax.html +++ b/reference/add_mathjax.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_n_node_clones.html b/reference/add_n_node_clones.html index 0292db56..3f851629 100644 --- a/reference/add_n_node_clones.html +++ b/reference/add_n_node_clones.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_n_nodes.html b/reference/add_n_nodes.html index aad60212..8038b870 100644 --- a/reference/add_n_nodes.html +++ b/reference/add_n_nodes.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_n_nodes_ws.html b/reference/add_n_nodes_ws.html index 013cd2ef..8e2476a8 100644 --- a/reference/add_n_nodes_ws.html +++ b/reference/add_n_nodes_ws.html @@ -40,7 +40,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_node.html b/reference/add_node.html index e755add6..deeb4ccd 100644 --- a/reference/add_node.html +++ b/reference/add_node.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_node_clones_ws.html b/reference/add_node_clones_ws.html index 91c88939..fb0277f5 100644 --- a/reference/add_node_clones_ws.html +++ b/reference/add_node_clones_ws.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_node_df.html b/reference/add_node_df.html index 4d4de3c1..cf752e2b 100644 --- a/reference/add_node_df.html +++ b/reference/add_node_df.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_nodes_from_df_cols.html b/reference/add_nodes_from_df_cols.html index c41f383a..fbc8826d 100644 --- a/reference/add_nodes_from_df_cols.html +++ b/reference/add_nodes_from_df_cols.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_nodes_from_table.html b/reference/add_nodes_from_table.html index 4e98ca64..51b996c9 100644 --- a/reference/add_nodes_from_table.html +++ b/reference/add_nodes_from_table.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_pa_graph.html b/reference/add_pa_graph.html index 6d946968..1d727c93 100644 --- a/reference/add_pa_graph.html +++ b/reference/add_pa_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_path.html b/reference/add_path.html index 630dd302..94e8ee36 100644 --- a/reference/add_path.html +++ b/reference/add_path.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_prism.html b/reference/add_prism.html index 8e3fd6f7..846d7a91 100644 --- a/reference/add_prism.html +++ b/reference/add_prism.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_reverse_edges_ws.html b/reference/add_reverse_edges_ws.html index 68588b8d..ff02770e 100644 --- a/reference/add_reverse_edges_ws.html +++ b/reference/add_reverse_edges_ws.html @@ -38,7 +38,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_smallworld_graph.html b/reference/add_smallworld_graph.html index 596c3c97..795b14cf 100644 --- a/reference/add_smallworld_graph.html +++ b/reference/add_smallworld_graph.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/add_star.html b/reference/add_star.html index b674bb51..7e4dfb92 100644 --- a/reference/add_star.html +++ b/reference/add_star.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/clear_selection.html b/reference/clear_selection.html index 60ca6b5a..51efbcb4 100644 --- a/reference/clear_selection.html +++ b/reference/clear_selection.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/colorize_edge_attrs.html b/reference/colorize_edge_attrs.html index 32d5190b..7abd5068 100644 --- a/reference/colorize_edge_attrs.html +++ b/reference/colorize_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/colorize_node_attrs.html b/reference/colorize_node_attrs.html index 246ce372..a6ac7308 100644 --- a/reference/colorize_node_attrs.html +++ b/reference/colorize_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/combine_edfs.html b/reference/combine_edfs.html index 95182e66..488ca985 100644 --- a/reference/combine_edfs.html +++ b/reference/combine_edfs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/combine_graphs.html b/reference/combine_graphs.html index e34ed43e..907e9b08 100644 --- a/reference/combine_graphs.html +++ b/reference/combine_graphs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/combine_ndfs.html b/reference/combine_ndfs.html index a5f9c2b6..10c823d3 100644 --- a/reference/combine_ndfs.html +++ b/reference/combine_ndfs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/copy_edge_attrs.html b/reference/copy_edge_attrs.html index 6171ec9b..0ab1296b 100644 --- a/reference/copy_edge_attrs.html +++ b/reference/copy_edge_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/copy_node_attrs.html b/reference/copy_node_attrs.html index fbec86fa..e61fa518 100644 --- a/reference/copy_node_attrs.html +++ b/reference/copy_node_attrs.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_asymmetric_node_pairs.html b/reference/count_asymmetric_node_pairs.html index e80f7e94..26f3fe04 100644 --- a/reference/count_asymmetric_node_pairs.html +++ b/reference/count_asymmetric_node_pairs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_automorphisms.html b/reference/count_automorphisms.html index 8e6fe050..6fdb71f5 100644 --- a/reference/count_automorphisms.html +++ b/reference/count_automorphisms.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_edges.html b/reference/count_edges.html index 9b571821..4e3e3e58 100644 --- a/reference/count_edges.html +++ b/reference/count_edges.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_graphs_in_graph_series.html b/reference/count_graphs_in_graph_series.html index 5d571a47..9c18919c 100644 --- a/reference/count_graphs_in_graph_series.html +++ b/reference/count_graphs_in_graph_series.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_loop_edges.html b/reference/count_loop_edges.html index bcd2cea1..e6a5b382 100644 --- a/reference/count_loop_edges.html +++ b/reference/count_loop_edges.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_mutual_node_pairs.html b/reference/count_mutual_node_pairs.html index 3d9b24bf..cb97f57d 100644 --- a/reference/count_mutual_node_pairs.html +++ b/reference/count_mutual_node_pairs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_nodes.html b/reference/count_nodes.html index 448f73e8..484a5c90 100644 --- a/reference/count_nodes.html +++ b/reference/count_nodes.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_s_connected_cmpts.html b/reference/count_s_connected_cmpts.html index 22d5adad..254d004e 100644 --- a/reference/count_s_connected_cmpts.html +++ b/reference/count_s_connected_cmpts.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_unconnected_node_pairs.html b/reference/count_unconnected_node_pairs.html index e0c95fe0..cc7613d7 100644 --- a/reference/count_unconnected_node_pairs.html +++ b/reference/count_unconnected_node_pairs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_unconnected_nodes.html b/reference/count_unconnected_nodes.html index f258f6cb..d66cdb21 100644 --- a/reference/count_unconnected_nodes.html +++ b/reference/count_unconnected_nodes.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/count_w_connected_cmpts.html b/reference/count_w_connected_cmpts.html index 63194153..078ca9b1 100644 --- a/reference/count_w_connected_cmpts.html +++ b/reference/count_w_connected_cmpts.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_edge_df.html b/reference/create_edge_df.html index a2dfb89f..78ea3fe6 100644 --- a/reference/create_edge_df.html +++ b/reference/create_edge_df.html @@ -34,7 +34,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_graph.html b/reference/create_graph.html index 2c36e117..9a7e8f45 100644 --- a/reference/create_graph.html +++ b/reference/create_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_graph_series.html b/reference/create_graph_series.html index 6aeb7f7a..50737cc6 100644 --- a/reference/create_graph_series.html +++ b/reference/create_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/create_node_df.html b/reference/create_node_df.html index 3ea5fb90..08777ed5 100644 --- a/reference/create_node_df.html +++ b/reference/create_node_df.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/currencies.html b/reference/currencies.html index 4b9d1fd7..f7b4e666 100644 --- a/reference/currencies.html +++ b/reference/currencies.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_cache.html b/reference/delete_cache.html index f94aec14..bc1f5043 100644 --- a/reference/delete_cache.html +++ b/reference/delete_cache.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_edge.html b/reference/delete_edge.html index 6deb0e15..9895c334 100644 --- a/reference/delete_edge.html +++ b/reference/delete_edge.html @@ -16,7 +16,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_edges_ws.html b/reference/delete_edges_ws.html index ac49ee16..c85b6322 100644 --- a/reference/delete_edges_ws.html +++ b/reference/delete_edges_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_global_graph_attrs.html b/reference/delete_global_graph_attrs.html index 913ba9f8..17177dda 100644 --- a/reference/delete_global_graph_attrs.html +++ b/reference/delete_global_graph_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_graph_actions.html b/reference/delete_graph_actions.html index 505e6b23..715639a8 100644 --- a/reference/delete_graph_actions.html +++ b/reference/delete_graph_actions.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_loop_edges_ws.html b/reference/delete_loop_edges_ws.html index d9677c5c..26a2e3f5 100644 --- a/reference/delete_loop_edges_ws.html +++ b/reference/delete_loop_edges_ws.html @@ -30,7 +30,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_node.html b/reference/delete_node.html index 48c9a348..9a460106 100644 --- a/reference/delete_node.html +++ b/reference/delete_node.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/delete_nodes_ws.html b/reference/delete_nodes_ws.html index 5355e216..924f4d6c 100644 --- a/reference/delete_nodes_ws.html +++ b/reference/delete_nodes_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/deselect_edges.html b/reference/deselect_edges.html index b9f1e88a..4adca7aa 100644 --- a/reference/deselect_edges.html +++ b/reference/deselect_edges.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/deselect_nodes.html b/reference/deselect_nodes.html index d72ffa08..d92fb70d 100644 --- a/reference/deselect_nodes.html +++ b/reference/deselect_nodes.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/display_metagraph.html b/reference/display_metagraph.html index d5c6d1e9..07fdcd5e 100644 --- a/reference/display_metagraph.html +++ b/reference/display_metagraph.html @@ -22,7 +22,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/do_bfs.html b/reference/do_bfs.html index bcee0a88..3cac1205 100644 --- a/reference/do_bfs.html +++ b/reference/do_bfs.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/do_dfs.html b/reference/do_dfs.html index c5719a18..76cfb7e4 100644 --- a/reference/do_dfs.html +++ b/reference/do_dfs.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/drop_edge_attrs.html b/reference/drop_edge_attrs.html index 2661f50a..326f8ad1 100644 --- a/reference/drop_edge_attrs.html +++ b/reference/drop_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/drop_node_attrs.html b/reference/drop_node_attrs.html index 8d99a4a6..a81034dd 100644 --- a/reference/drop_node_attrs.html +++ b/reference/drop_node_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_aes.html b/reference/edge_aes.html index bbb001c2..67513bac 100644 --- a/reference/edge_aes.html +++ b/reference/edge_aes.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_data.html b/reference/edge_data.html index f0c462d8..b7ebcf02 100644 --- a/reference/edge_data.html +++ b/reference/edge_data.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_list_1.html b/reference/edge_list_1.html index e59cd019..3529bb8b 100644 --- a/reference/edge_list_1.html +++ b/reference/edge_list_1.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/edge_list_2.html b/reference/edge_list_2.html index 5ba001f2..fe1b5c55 100644 --- a/reference/edge_list_2.html +++ b/reference/edge_list_2.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/export_csv.html b/reference/export_csv.html index e0d5600d..05d124b7 100644 --- a/reference/export_csv.html +++ b/reference/export_csv.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/export_graph.html b/reference/export_graph.html index 081ae56e..f0b97010 100644 --- a/reference/export_graph.html +++ b/reference/export_graph.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/filter_graph_series.html b/reference/filter_graph_series.html index ae0d442f..fae9ca56 100644 --- a/reference/filter_graph_series.html +++ b/reference/filter_graph_series.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/from_adj_matrix.html b/reference/from_adj_matrix.html index a5409119..5b22c576 100644 --- a/reference/from_adj_matrix.html +++ b/reference/from_adj_matrix.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/from_igraph.html b/reference/from_igraph.html index 39d1f5ec..610990b9 100644 --- a/reference/from_igraph.html +++ b/reference/from_igraph.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/fully_connect_nodes_ws.html b/reference/fully_connect_nodes_ws.html index 07f984ca..37ab56a1 100644 --- a/reference/fully_connect_nodes_ws.html +++ b/reference/fully_connect_nodes_ws.html @@ -32,7 +32,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/fully_disconnect_nodes_ws.html b/reference/fully_disconnect_nodes_ws.html index 49d20b8f..18d7261d 100644 --- a/reference/fully_disconnect_nodes_ws.html +++ b/reference/fully_disconnect_nodes_ws.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/generate_dot.html b/reference/generate_dot.html index 181d27ad..a7cd0495 100644 --- a/reference/generate_dot.html +++ b/reference/generate_dot.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_adhesion.html b/reference/get_adhesion.html index 76952804..12bd9998 100644 --- a/reference/get_adhesion.html +++ b/reference/get_adhesion.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_agg_degree_in.html b/reference/get_agg_degree_in.html index e204bdc3..f4110f8a 100644 --- a/reference/get_agg_degree_in.html +++ b/reference/get_agg_degree_in.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_agg_degree_out.html b/reference/get_agg_degree_out.html index 340a56ef..2c89de62 100644 --- a/reference/get_agg_degree_out.html +++ b/reference/get_agg_degree_out.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_agg_degree_total.html b/reference/get_agg_degree_total.html index 4d425f89..ef56cbbd 100644 --- a/reference/get_agg_degree_total.html +++ b/reference/get_agg_degree_total.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_all_connected_nodes.html b/reference/get_all_connected_nodes.html index d9f0755a..9454ba3d 100644 --- a/reference/get_all_connected_nodes.html +++ b/reference/get_all_connected_nodes.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_alpha_centrality.html b/reference/get_alpha_centrality.html index 6fb0f6fe..04294074 100644 --- a/reference/get_alpha_centrality.html +++ b/reference/get_alpha_centrality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_articulation_points.html b/reference/get_articulation_points.html index 68d98692..20e195bd 100644 --- a/reference/get_articulation_points.html +++ b/reference/get_articulation_points.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_authority_centrality.html b/reference/get_authority_centrality.html index 42c0c3f0..167c3b7d 100644 --- a/reference/get_authority_centrality.html +++ b/reference/get_authority_centrality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_betweenness.html b/reference/get_betweenness.html index 24f9df7a..c368c841 100644 --- a/reference/get_betweenness.html +++ b/reference/get_betweenness.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cache.html b/reference/get_cache.html index 2bc9cc9f..e034ca77 100644 --- a/reference/get_cache.html +++ b/reference/get_cache.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_closeness.html b/reference/get_closeness.html index fdaa80e9..d07cf62f 100644 --- a/reference/get_closeness.html +++ b/reference/get_closeness.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_closeness_vitality.html b/reference/get_closeness_vitality.html index d2f344de..cf875d2d 100644 --- a/reference/get_closeness_vitality.html +++ b/reference/get_closeness_vitality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_edge_btwns.html b/reference/get_cmty_edge_btwns.html index 66885b43..abed7b7c 100644 --- a/reference/get_cmty_edge_btwns.html +++ b/reference/get_cmty_edge_btwns.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_fast_greedy.html b/reference/get_cmty_fast_greedy.html index 8c8e84d7..d7c2dcde 100644 --- a/reference/get_cmty_fast_greedy.html +++ b/reference/get_cmty_fast_greedy.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_l_eigenvec.html b/reference/get_cmty_l_eigenvec.html index b28961a8..2624022e 100644 --- a/reference/get_cmty_l_eigenvec.html +++ b/reference/get_cmty_l_eigenvec.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_louvain.html b/reference/get_cmty_louvain.html index c37141c4..d04cc000 100644 --- a/reference/get_cmty_louvain.html +++ b/reference/get_cmty_louvain.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_cmty_walktrap.html b/reference/get_cmty_walktrap.html index 33f11682..79c70b13 100644 --- a/reference/get_cmty_walktrap.html +++ b/reference/get_cmty_walktrap.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_common_nbrs.html b/reference/get_common_nbrs.html index 7da0245c..c88bd80b 100644 --- a/reference/get_common_nbrs.html +++ b/reference/get_common_nbrs.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_coreness.html b/reference/get_coreness.html index 1bb94eb6..ed60a885 100644 --- a/reference/get_coreness.html +++ b/reference/get_coreness.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_distribution.html b/reference/get_degree_distribution.html index 5fd47a70..c489c259 100644 --- a/reference/get_degree_distribution.html +++ b/reference/get_degree_distribution.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_histogram.html b/reference/get_degree_histogram.html index bd75c141..b6e7461b 100644 --- a/reference/get_degree_histogram.html +++ b/reference/get_degree_histogram.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_in.html b/reference/get_degree_in.html index d7736aaa..59b19483 100644 --- a/reference/get_degree_in.html +++ b/reference/get_degree_in.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_out.html b/reference/get_degree_out.html index ccfb4fd8..9765c155 100644 --- a/reference/get_degree_out.html +++ b/reference/get_degree_out.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_degree_total.html b/reference/get_degree_total.html index 6b7ff5f5..9f5a4145 100644 --- a/reference/get_degree_total.html +++ b/reference/get_degree_total.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_dice_similarity.html b/reference/get_dice_similarity.html index d327c4a8..545ba9e9 100644 --- a/reference/get_dice_similarity.html +++ b/reference/get_dice_similarity.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_eccentricity.html b/reference/get_eccentricity.html index 0ca78fd7..6c4ee42f 100644 --- a/reference/get_eccentricity.html +++ b/reference/get_eccentricity.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_attrs.html b/reference/get_edge_attrs.html index cd95966e..6a84a68d 100644 --- a/reference/get_edge_attrs.html +++ b/reference/get_edge_attrs.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_attrs_ws.html b/reference/get_edge_attrs_ws.html index db9de5b1..0322f289 100644 --- a/reference/get_edge_attrs_ws.html +++ b/reference/get_edge_attrs_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_count_w_multiedge.html b/reference/get_edge_count_w_multiedge.html index 320b6a46..84a1be8b 100644 --- a/reference/get_edge_count_w_multiedge.html +++ b/reference/get_edge_count_w_multiedge.html @@ -18,7 +18,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_df.html b/reference/get_edge_df.html index 50d95f86..6e209c6c 100644 --- a/reference/get_edge_df.html +++ b/reference/get_edge_df.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_df_ws.html b/reference/get_edge_df_ws.html index afcb5dfc..23b4b04d 100644 --- a/reference/get_edge_df_ws.html +++ b/reference/get_edge_df_ws.html @@ -28,7 +28,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_ids.html b/reference/get_edge_ids.html index fe909264..a51b1db0 100644 --- a/reference/get_edge_ids.html +++ b/reference/get_edge_ids.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edge_info.html b/reference/get_edge_info.html index 0b7fe45f..d9116801 100644 --- a/reference/get_edge_info.html +++ b/reference/get_edge_info.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_edges.html b/reference/get_edges.html index bc8695f9..7facd98a 100644 --- a/reference/get_edges.html +++ b/reference/get_edges.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_eigen_centrality.html b/reference/get_eigen_centrality.html index 24c90629..d21b0427 100644 --- a/reference/get_eigen_centrality.html +++ b/reference/get_eigen_centrality.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_girth.html b/reference/get_girth.html index 39790c40..4539b631 100644 --- a/reference/get_girth.html +++ b/reference/get_girth.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_global_graph_attr_info.html b/reference/get_global_graph_attr_info.html index 0bda1982..55efa369 100644 --- a/reference/get_global_graph_attr_info.html +++ b/reference/get_global_graph_attr_info.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_actions.html b/reference/get_graph_actions.html index b4821520..d8f4546b 100644 --- a/reference/get_graph_actions.html +++ b/reference/get_graph_actions.html @@ -14,7 +14,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_from_graph_series.html b/reference/get_graph_from_graph_series.html index 3721bb04..c6c9828c 100644 --- a/reference/get_graph_from_graph_series.html +++ b/reference/get_graph_from_graph_series.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_info.html b/reference/get_graph_info.html index 09a9b1ac..7537c861 100644 --- a/reference/get_graph_info.html +++ b/reference/get_graph_info.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_log.html b/reference/get_graph_log.html index 0e1bf0bd..d26e39cc 100644 --- a/reference/get_graph_log.html +++ b/reference/get_graph_log.html @@ -12,7 +12,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -101,10 +101,10 @@ Examples#> # A tibble: 4 × 8 #> version_id function_used time_modified duration nodes edges d_n d_e #> <int> <chr> <dttm> <dbl> <int> <int> <int> <int> -#> 1 1 create_graph 2024-02-03 18:44:43 0.00282 0 0 0 0 -#> 2 2 add_gnm_graph 2024-02-03 18:44:43 0.0137 10 15 10 15 -#> 3 3 delete_node 2024-02-03 18:44:43 0.0174 9 11 -1 -4 -#> 4 4 delete_node 2024-02-03 18:44:43 0.0203 8 8 -1 -3 +#> 1 1 create_graph 2024-02-03 18:48:04 0.00286 0 0 0 0 +#> 2 2 add_gnm_graph 2024-02-03 18:48:04 0.0108 10 15 10 15 +#> 3 3 delete_node 2024-02-03 18:48:04 0.0140 9 11 -1 -4 +#> 4 4 delete_node 2024-02-03 18:48:04 0.0170 8 8 -1 -3 diff --git a/reference/get_graph_name.html b/reference/get_graph_name.html index 3e63227d..a5cb5441 100644 --- a/reference/get_graph_name.html +++ b/reference/get_graph_name.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 diff --git a/reference/get_graph_series_info.html b/reference/get_graph_series_info.html index 2417404a..8e08928a 100644 --- a/reference/get_graph_series_info.html +++ b/reference/get_graph_series_info.html @@ -10,7 +10,7 @@ DiagrammeR - 1.0.11 + 1.0.11.9000 @@ -107,9 +107,9 @@ Examples# Get information on the graphs in the series series %>% get_graph_series_info() #> graph name date_time tz nodes edges directed -#> 1 1 graph_SVUyR63K 2024-02-03 18:44:43 UTC 4 3 TRUE -#> 2 2 graph_SueySz3B 2024-02-03 18:44:43 UTC 5 5 TRUE -#> 3 3 graph_HYG7a9jw 2024-02-03 18:44:43 UTC 6 5 TRUE +#> 1 1 graph_SVUyR63K 2024-02-03 18:48:04 UTC 4 3 TRUE +#> 2 2 graph_SueySz3B 2024-02-03 18:48:04 UTC 5 5 TRUE +#> 3 3 graph_HYG7a9jw 2024-02-03 18:48:04 UTC 6 5 TRUE
We can now take the selection (still the central node 1) +
1
We can now take the selection (still the central node 1) and traverse via outbound edges to adjacent nodes: 2, 3, 4, 5, and 6.
2
3
4
5
6
@@ -317,8 +317,8 @@ Traversals Across Nodes # View the created graph graph %>% render_graph()
+ + graph %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% @@ -352,8 +352,8 @@ Traversals Across Nodes # View the updated graph updated_graph %>% render_graph() - -We are not limited to starting a traversal from a single node ID + +We are not limited to starting a traversal from a single node ID value. We can, for example, begin from a selection of nodes based on a regular expression and traverse to a matching type string value (or to other node attributes that have character @@ -399,8 +399,8 @@ Traversals Across Nodes # View the graph graph %>% render_graph()
graph %>% select_nodes_by_id(nodes = 1) %>% trav_out() %>% @@ -352,8 +352,8 @@ Traversals Across Nodes # View the updated graph updated_graph %>% render_graph()
We are not limited to starting a traversal from a single node ID +
We are not limited to starting a traversal from a single node ID value. We can, for example, begin from a selection of nodes based on a regular expression and traverse to a matching type string value (or to other node attributes that have character @@ -399,8 +399,8 @@
type
character
+ + # View the internal NDF for sake of # reference graph %>% get_node_df() @@ -624,8 +624,8 @@ Traversals from Nodes to Edges) graph %>% render_graph() - - + +
# View the internal NDF for sake of # reference graph %>% get_node_df() @@ -624,8 +624,8 @@ Traversals from Nodes to Edges) graph %>% render_graph()
Iannone R, Roy O (2024). DiagrammeR: Graph/Network Visualization. -R package version 1.0.11, +R package version 1.0.11.9000, https://github.com/rich-iannone/DiagrammeR, https://rich-iannone.github.io/DiagrammeR/.
@Manual{, title = {DiagrammeR: Graph/Network Visualization}, author = {Richard Iannone and Olivier Roy}, year = {2024}, - note = {R package version 1.0.11, + note = {R package version 1.0.11.9000, https://github.com/rich-iannone/DiagrammeR}, url = {https://rich-iannone.github.io/DiagrammeR/}, }
NEWS.md
CRAN release: 2024-02-02
DiagrammeR now has a dependency on viridisLite instead of viridis (@olivroy, #511)