create_graph {DiagrammeR}R Documentation

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

## Not run: 
# 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"))

## End(Not run)

[Package DiagrammeR version 0.8.2 Index]