With a graph object
of class dgr_graph
, add a
two-dimensional grid to the graph.
add_grid_2d(graph, x, y, type = NULL, label = TRUE, rel = NULL, node_aes = NULL, edge_aes = NULL, node_data = NULL, edge_data = NULL)
graph | a graph object of
class |
---|---|
x | the number of nodes in the x direction. |
y | the number of nodes in the y direction. |
type | an optional string that describes the entity type for the nodes to be added. |
label | either a vector object
of length |
rel | an optional string for providing a relationship label to all new edges created in the grid. |
node_aes | an optional list
of named vectors comprising node
aesthetic attributes. The helper
function |
edge_aes | an optional list
of named vectors comprising edge
aesthetic attributes. The helper
function |
node_data | an optional list
of named vectors comprising node
data attributes. The helper
function |
edge_data | an optional list
of named vectors comprising edge
data attributes. The helper function
|
a graph object of class
dgr_graph
.
# 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#> 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#> 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