Nothing
test_that("setting a single node's position is possible", {
# Create a simple graph with 4 nodes
graph <-
create_graph() %>%
add_node(label = "one") %>%
add_node(label = "two") %>%
add_node(label = "three") %>%
add_node(label = "four")
# Add position information to each of
# the graph's nodes
graph_1 <-
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)
# Expect that the `x` and `y` node
# attributes columns are available
expect_contains(colnames(graph_1$nodes_df), c("x", "y"))
# Expect specific values in the `x` column
expect_equal(
graph_1$nodes_df$x, c(1, 2, 3, 4))
# Expect specific values in the `y` column
expect_equal(
graph_1$nodes_df$y, c(1, 2, 3, 4))
# Add position information to each of the
# graph's nodes using node `label` values
graph_2 <-
graph %>%
set_node_position(
node = "one",
x = 1, y = 1,
use_labels = TRUE) %>%
set_node_position(
node = "two",
x = 2, y = 2,
use_labels = TRUE) %>%
set_node_position(
node = "three",
x = 3, y = 3,
use_labels = TRUE) %>%
set_node_position(
node = "four",
x = 4, y = 4,
use_labels = TRUE)
# Expect that both `x` and `y` node
# attributes columns are available
expect_contains(colnames(graph_2$nodes_df), c("x", "y"))
# Expect specific values in the `x` column
expect_equal(
graph_2$nodes_df$x, c(1, 2, 3, 4))
# Expect specific values in the `y` column
expect_equal(
graph_2$nodes_df$y, c(1, 2, 3, 4))
})
test_that("altering several nodes' positions is possible", {
# 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_1 <-
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_1 <- select_nodes(graph_1)
# Move the selected nodes (all the nodes,
# in this case) 5 units to the right
graph_1 <-
graph_1 %>%
nudge_node_positions_ws(
dx = 5, dy = 0)
# Expect that the `x` values have specific values
expect_equal(
graph_1$nodes_df$x, c(6, 7, 8, 9))
# Expect that the `y` values have specific values
expect_equal(
graph_1$nodes_df$y, c(1, 2, 3, 4))
# Now select nodes that have `type == "b"`
# and move them in the `y` direction 2 units
graph_2 <-
graph %>%
select_nodes(
conditions = type == "b") %>%
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) %>%
nudge_node_positions_ws(
dx = 0, dy = 2)
# Expect that the `x` values have specific values
expect_equal(
graph_2$nodes_df$x, c(1, 2, 3, 4))
# Expect that the `y` values have specific values
expect_equal(
graph_2$nodes_df$y, c(1, 2, 5, 6))
})
test_that("setting positions with a text string is possible", {
# Create a graph with unique labels and
# several node `type` groupings
graph <-
create_graph() %>%
add_node(type = "a", label = "a") %>%
add_node(type = "a", label = "b") %>%
add_node(type = "b", label = "c") %>%
add_node(type = "b", label = "d") %>%
add_node(type = "b", label = "e") %>%
add_node(type = "c", label = "f") %>%
add_node(type = "c", label = "g")
# Define a 'layout' for groups of nodes
# using a text string
layout <-
"
1--------
1--------
---222---
--------3
--------3
"
# Use the `layout` along with what nodes
# the numbers correspond to in the graph
# with the `nodes` named vectors
graph <-
graph %>%
layout_nodes_w_string(
layout = layout,
nodes = c("1" = "type:a",
"2" = "type:b",
"3" = "type:c"),
sort = c("1" = "label:asc",
"2" = "label:desc",
"3" = "label:desc"))
# Expect that both the `x` and `y` node
# attributes columns are available
expect_contains(colnames(graph$nodes_df), c("x", "y"))
# Expect specific values in the `x` column
expect_equal(
graph$nodes_df$x, c(0, 0, 5, 4, 3, 8, 8))
# Expect specific values in the `y` column
expect_equal(
graph$nodes_df$y, c(8, 6, 4, 4, 4, 0, 2))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.