Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

nudge_node_positions_ws

Move layout positions of a selection of nodes


Description

With an active selection of nodes, move the position in either the x or y directions, or both. Nodes in the selection that do not have position information (i.e., NA values for the x or y node attributes) will be ignored.

Usage

nudge_node_positions_ws(graph, dx, dy)

Arguments

graph

A graph object of class dgr_graph.

dx

A single numeric value specifying the amount that selected nodes (with non-NA values for the x and y attributes) will be moved in the x direction. A positive value will move nodes right, negative left.

dy

A single numeric value specifying the amount that selected nodes (with non-NA values for the x and y attributes) will be moved in the y direction. A positive value will move nodes up, negative down.

Details

This function makes use of an active selection of nodes (and the function ending with _ws hints at this).

Selections of nodes can be performed using the following node selection (select_*()) functions: select_nodes(), select_last_nodes_created(), select_nodes_by_degree(), select_nodes_by_id(), or select_nodes_in_neighborhood().

Selections of nodes can also be performed using the following traversal (trav_*()) functions: trav_out(), trav_in(), trav_both(), trav_out_node(), trav_in_node(), trav_out_until(), or trav_in_until().

Value

A graph object of class dgr_graph.

Examples

# Create a simple graph with 4 nodes
graph <-
  create_graph() %>%
  add_node(
    type = "a",
    label = "one") %>%
  add_node(
    type = "a",
    label = "two") %>%
  add_node(
    type = "b",
    label = "three") %>%
  add_node(
    type = "b",
    label = "four")

# Add position information to each of
# the graph's nodes
graph <-
  graph %>%
  set_node_position(
    node = 1, x = 1, y = 1) %>%
  set_node_position(
    node = 2, x = 2, y = 2) %>%
  set_node_position(
    node = 3, x = 3, y = 3) %>%
  set_node_position(
    node = 4, x = 4, y = 4)

# Select all of the graph's nodes using the
# `select_nodes()` function (and only
# specifying the graph object)
graph <- select_nodes(graph)

# Move the selected nodes (all the nodes,
# in this case) 5 units to the right
graph <-
  graph %>%
  nudge_node_positions_ws(
    dx = 5, dy = 0)

# View the graph's node data frame
graph %>% get_node_df()

# Now select nodes that have `type == "b"`
# and move them in the `y` direction 2 units
# (the graph still has an active selection
# and so it must be cleared first)
graph <-
  graph %>%
  clear_selection() %>%
  select_nodes(
    conditions = type == "b") %>%
  nudge_node_positions_ws(
    dx = 0, dy = 2)

# View the graph's node data frame
graph %>% get_node_df()

DiagrammeR

Graph/Network Visualization

v1.0.6.1
MIT + file LICENSE
Authors
Richard Iannone [aut, cre] (<https://orcid.org/0000-0003-3925-190X>)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.