Set a node attribute type to display
as node text when calling the render_graph()
function. This allows for display of different types
of node attribute values on a per-node basis.
Without setting the display attribute,
rendering a graph will default to printing text
from the label attribute on nodes. Setting
the display node attribute with this function
for the first time (i.e., the display column
doesn't exist in the graph's internal node data frame)
will insert the attr value for all nodes
specified in nodes and a default value
(default) for all remaining nodes.
set_node_attr_to_display(graph, attr = NULL, nodes = NULL, default = "label")
| graph | a graph object of class
|
|---|---|
| attr | the name of the attribute from
which label text for the node will be obtained.
If set to |
| nodes | a length vector containing one or
several node ID values (as integers) for which
node attributes are set for display in the
rendered graph. If |
| default | the name of an attribute to
set for all other graph nodes not included
in |
a graph object of class dgr_graph.
# Create a random graph using the # `add_gnm_graph()` function graph <- create_graph() %>% add_gnm_graph( n = 4, m = 4, set_seed = 23) %>% set_node_attrs( node_attr = value, values = c(2.5, 8.2, 4.2, 2.4)) # For node ID values of `1`, # `2`, and `3`, choose to display # the node `value` attribute (for # the other nodes, display nothing) graph <- graph %>% set_node_attr_to_display( nodes = 1:3, attr = value, default = NA) # Show the graph's node data frame; the # `display` node attribute will show for # each row, which node attribute value to # display when the graph is rendered graph %>% get_node_df()#> id type label display value #> 1 1 <NA> 1 value 2.5 #> 2 2 <NA> 2 value 8.2 #> 3 3 <NA> 3 value 4.2 #> 4 4 <NA> 4 <NA> 2.4# This function can be called multiple # times on a graph; after the first time # (i.e., creation of the `display` # attribute), the `default` value won't # be used graph %>% set_node_attr_to_display( nodes = 4, attr = label) %>% set_node_attr_to_display( nodes = c(1, 3), attr = id) %>% get_node_df()#> id type label display value #> 1 1 <NA> 1 id 2.5 #> 2 2 <NA> 2 value 8.2 #> 3 3 <NA> 3 id 4.2 #> 4 4 <NA> 4 label 2.4