Skip to contents

From a graph object of class dgr_graph, set node attribute values for one or more nodes.

Usage

set_node_attrs(graph, node_attr, values, nodes = NULL)

Arguments

graph

A graph object of class dgr_graph.

node_attr

The name of the attribute to set. Examples of attributes can be found in node_aes().

values

The values to be set for the chosen attribute for the chosen nodes.

nodes

An optional vector of node IDs for filtering the list of nodes present in the graph.

Value

A graph object of class dgr_graph.

Examples

# Create a node data frame (ndf)
ndf <-
  create_node_df(
    n = 4,
    type = "basic",
    label = TRUE,
    value = c(3.5, 2.6, 9.4, 2.7))

# Create an edge data frame (edf)
edf <-
  create_edge_df(
    from = c(1, 2, 3),
    to = c(4, 3, 1),
    rel = "leading_to")

# Create a graph
graph <-
  create_graph(
    nodes_df = ndf,
    edges_df = edf)

# Set attribute `color = "green"` for
# nodes `1` and `3` using the graph object
graph <-
  graph %>%
  set_node_attrs(
    node_attr = color,
    values = "green",
    nodes = c(1, 3))

# View the graph's node data frame
graph %>% get_node_df()
#>   id  type label value color
#> 1  1 basic     1   3.5 green
#> 2  2 basic     2   2.6  <NA>
#> 3  3 basic     3   9.4 green
#> 4  4 basic     4   2.7  <NA>

# Set attribute `color = "blue"` for
# all nodes in the graph
graph <-
  graph %>%
  set_node_attrs(
    node_attr = color,
    values = "blue")

# Display the graph's ndf
graph %>% get_node_df()
#>   id  type label value color
#> 1  1 basic     1   3.5  blue
#> 2  2 basic     2   2.6  blue
#> 3  3 basic     3   9.4  blue
#> 4  4 basic     4   2.7  blue