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")
a graph object of class
dgr_graph
.
the name of the attribute to
set for the type
of global attribute
specified. If set to NULL
, then NA
values will be assigned to the display
for the chosen 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 NULL
, all nodes from
the graph are assigned the display
value
given as attr
.
the name of an attribute to
set for all other graph nodes not included
in nodes
. This value only gets used if
the display
node attribute is not in
the graph's internal node data frame.
a graph object of class dgr_graph
.
# NOT RUN {
# Create a random graph
graph <-
create_random_graph(
5, 5, set_seed = 23)
# For node ID values of `1` to `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
get_node_df(graph)
#> id type label display value
#> 1 1 <NA> 1 value 6.0
#> 2 2 <NA> 2 value 2.5
#> 3 3 <NA> 3 value 3.5
#> 4 4 <NA> 4 <NA> 7.5
#> 5 5 <NA> 5 <NA> 8.5
# 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, 5), attr = "id") %>%
get_node_df()
#> id type label display value
#> 1 1 <NA> 1 id 6.0
#> 2 2 <NA> 2 value 2.5
#> 3 3 <NA> 3 value 3.5
#> 4 4 <NA> 4 label 7.5
#> 5 5 <NA> 5 id 8.5
# }
Run the code above in your browser using DataLab