Learn R Programming

DiagrammeR (version 0.8.1)

create_graph: Create a graph object using data frames representative of nodes and edges

Description

Generates a graph object using data frames for nodes and/or edges; the graph object can be manipulated by other functions.

Usage

create_graph(nodes_df = NULL, edges_df = NULL, graph_attrs = NULL,
  node_attrs = NULL, edge_attrs = NULL, directed = TRUE,
  graph_name = NULL, graph_time = NULL, graph_tz = NULL,
  generate_dot = TRUE)

Arguments

nodes_df
an optional data frame containing, at minimum, a column (called nodes) which contains node IDs for the graph. Additional columns (named as Graphviz node attributes) can be included with values for the named node attribute.
edges_df
an optional data frame containing, at minimum, two columns (called from and to) where node IDs are provided. Additional columns (named as Graphviz edge attributes) can be included with values for the named edge attribute.
graph_attrs
an optional vector of graph attribute statements that can serve as defaults for the graph.
node_attrs
an optional vector of node attribute statements that can serve as defaults for nodes.
edge_attrs
an optional vector of edge attribute statements that can serve as defaults for edges.
directed
with TRUE (the default) or FALSE, either directed or undirected edge operations will be generated, respectively.
graph_name
an optional string for labeling the graph object.
graph_time
a date or date-time string (required for insertion of graph into a graph series of the type temporal).
graph_tz
an optional value for the time zone (tz) corresponding to the date or date-time string supplied as a value to graph_time. If no time zone is provided then it will be set to GMT.
generate_dot
an option to generate Graphviz DOT code and place into the graph object.

Value

  • a graph object of class dgr_graph.

Examples

Run this code
# Create an empty graph
graph <- create_graph()

# Create a graph with nodes but no edges
nodes <- create_nodes(nodes = c("a", "b", "c", "d"))

graph <- create_graph(nodes_df = nodes)

# Create a graph with nodes with values, types, labels
nodes <- create_nodes(nodes = c("a", "b", "c", "d"),
               label = TRUE,
               type = c("type_1", "type_1",
                        "type_5", "type_2"),
               shape = c("circle", "circle",
                         "rectangle", "rectangle"),
               values = c(3.5, 2.6, 9.4, 2.7))

graph <- create_graph(nodes_df = nodes)

# Create a graph from an edge data frame, the nodes will
edges <- create_edges(from = c("a", "b", "c"),
                      to = c("d", "c", "a"),
                      rel = "leading_to")

graph <- create_graph(edges_df = edges)

# Create a graph with both nodes and nodes defined, and,
# add some default attributes for nodes and edges
graph <- create_graph(nodes_df = nodes,
                      edges_df = edges,
                      node_attrs = "fontname = Helvetica",
                      edge_attrs = c("color = blue",
                                     "arrowsize = 2"))

Run the code above in your browser using DataLab