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 from which label text for the node will be obtained. If set to `NULL`, then `NA` values will be assigned to the `display` column 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 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()

    # 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()

[Package DiagrammeR version 1.0.1 Index]