set_node_attr_to_display {DiagrammeR} | R Documentation

## Set the node attribute values to be rendered

### Description

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.

### Usage

    set_node_attr_to_display(graph, attr = NULL, nodes = NULL,
      default = "label")

### Arguments

`graph` | a graph object of class `dgr_graph`.
`attr` | 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.
`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`.
`default` | 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.

### Value

a graph object of class `dgr_graph`.

### Examples

    # Create a random graph
    graph <-
      create_random_graph(
        n = 5, m = 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

[Package DiagrammeR version 0.9.2 Index]