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]