Learn R Programming

⚠️There's a newer version (1.0.11) of this package.Take me there.

DiagrammeR (version 1.0.0)

Graph/Network Visualization

Description

Build graph/network structures using functions for stepwise addition and deletion of nodes and edges. Work with data available in tables for bulk addition of nodes, edges, and associated metadata. Use graph selections and traversals to apply changes to specific nodes or edges. A wide selection of graph algorithms allow for the analysis of graphs. Visualize the graphs and take advantage of any aesthetic properties assigned to nodes and edges.

Copy Link

Version

Install

install.packages('DiagrammeR')

Monthly Downloads

312,018

Version

1.0.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Richard Iannone

Last Published

March 1st, 2018

Functions in DiagrammeR (1.0.0)

DiagrammeR

R + mermaid.js
add_growing_graph

Create a random growing graph with m edges added per step
add_nodes_from_table

Add nodes and attributes to graph from a table
add_islands_graph

Create a random islands graph with edges between the islands
add_graph_to_graph_series

Add graph object to a graph series object
add_n_nodes

Add one or several unconnected nodes to the graph
add_node

Add a node to an existing graph object
add_pa_graph

Add a preferential attachment graph
add_smallworld_graph

Add a Watts-Strogatz small-world graph
add_n_nodes_ws

Add a multiple of new nodes with edges to or from one or more selected nodes
add_node_clones_ws

Add clones of a selection of nodes
add_reverse_edges_ws

Add new edges in the opposite directions of a selection of edges
add_path

Add a path of nodes to the graph
add_prism

Add a prism of nodes to the graph
add_balanced_tree

Add a balanced tree to the graph
copy_node_attrs

Copy a node attribute column and set the name
combine_graphs

Combine two graphs into a single graph
combine_edfs

Combine multiple edge data frames into a single edge data frame
count_mutual_node_pairs

Get the number of mutually-connected node pairs
combine_ndfs

Combine multiple node data frames
count_nodes

Get a count of all nodes
add_cycle

Add a cycle of nodes to the graph
count_asymmetric_node_pairs

Get the number of asymmetrically-connected node pairs
copy_edge_attrs

Copy an edge attribute column and set the name
add_gnm_graph

Add a G(n, m) Erdos-Renyi graph
count_s_connected_cmpts

Get the number of strongly-connected components
currencies

ISO-4217 currency data.
count_unconnected_node_pairs

Get the number of unconnected node pairs
delete_loop_edges_ws

Delete all loop edges associated with a selection of nodes
delete_node

Delete a node from an existing graph object
drop_edge_attrs

Drop an edge attribute column
delete_cache

Delete vectors cached in a graph object
count_unconnected_nodes

Get count of all unconnected nodes
drop_node_attrs

Drop a node attribute column
from_igraph

Convert an igraph graph to a DiagrammeR one
count_w_connected_cmpts

Get the number of weakly-connected components
fully_connect_nodes_ws

Fully connect all nodes in a selection of nodes
delete_nodes_ws

Delete all selected nodes in a node selection
delete_edge

Delete an edge from an existing graph object
add_gnp_graph

Add a G(n, p) Erdos-Renyi graph
get_authority_centrality

Get the authority scores for all nodes
deselect_edges

Deselect any selected edges in a graph
do_bfs

Use the breadth-first search (bfs) algorithm
delete_edges_ws

Delete all selected edges in an edge selection
export_csv

Export a graph to CSV files
do_dfs

Use the depth-first search (dfs) algorithm
add_mathjax

Add MathJax-formatted equation text
add_n_node_clones

Add one or several clones of an existing node to the graph
export_graph

Export a graph to various file formats
colorize_node_attrs

Apply colors based on node attribute values
colorize_edge_attrs

Apply colors based on edge attribute values
filter_graph_series

Subset a graph series object
count_automorphisms

Get the number of automorphisms
count_edges

Get a count of all edges
create_graph_series

Create a graph series object
fully_disconnect_nodes_ws

Fully disconnect all nodes in a selection of nodes
create_node_df

Create a node data frame
from_adj_matrix

Create a graph using an adjacency matrix
get_closeness

Get closeness centrality values
get_bridging

Get bridging scores
generate_dot

Generate DOT code using a graph object
get_cache

Get a cached vector from a graph object
get_degree_distribution

Get total degree distribution data for a graph
deselect_nodes

Deselect any selected nodes in a graph
display_metagraph

Display a property graph's underlying model
get_closeness_vitality

Get closeness vitality
edge_list_2

Edge list - Version 2.
get_constraint

Get constraint scores for one or more graph nodes
get_degree_histogram

Get histogram data for a graph's degree frequency
edge_list_1

Edge list - Version 1.
get_adhesion

Get graph adhesion
get_coreness

Get coreness values for graph nodes
get_betweenness

Get betweenness centrality scores
get_cmty_l_eigenvec

Get community membership by leading eigenvector
get_edge_attrs_ws

Get edge attribute values
get_cmty_louvain

Get community membership by Louvain optimization
get_edge_count_w_multiedge

Get count of edge definitions where multiple edges occur
get_edge_df

Get an edge data frame from a graph
get_articulation_points

Get articulation points
get_edge_df_ws

Get the graph's edf filtered by a selection of edges
get_agg_degree_in

Get an aggregate value from the indegree of nodes
get_edge_ids

Get a vector of edge ID values
get_edge_info

Get detailed information on edges
get_edges

Get node IDs associated with edges
get_degree_total

Get total degree values for all nodes
get_dice_similarity

Get Dice similarity coefficient scores
get_leverage_centrality

Get leverage centrality
get_graph_actions

Get information on any available graph actions
get_max_eccentricity

Get the maximum graph eccentricity
get_attr_dfs

Get data frames bound to node attributes
get_cmty_walktrap

Get community membership using the Walktrap method
get_eigen_centrality

Get the eigen centrality for all nodes
get_mean_distance

Get the mean distance
get_pagerank

Get the PageRank values for all nodes
get_node_info

Get detailed information on nodes
add_edges_w_string

Add one or more edges using a text string
get_non_nbrs

Get non-neighbors of a node in a graph
get_min_cut_between

Get the minimum cut between source and sink nodes
get_graph_from_graph_series

Get a graph available in a series
get_common_nbrs

Get all common neighbors between two or more nodes
get_graph_time

Get the graph date-time or timezone
add_forward_edges_ws

Add new edges with identical definitions as with a selection of edges
get_jaccard_similarity

Get Jaccard similarity coefficient scores
get_w_connected_cmpts

Get all nodes associated with connected components
get_paths

Get paths from a specified node in a directed graph
get_degree_in

Get indegree values for all nodes
is_graph_empty

Is the graph empty?
grViz

R + viz.js
get_degree_out

Get outdegree values for all nodes
is_graph_simple

Is the graph a simple graph?
add_full_graph

Add a fully connected graph
get_min_eccentricity

Get the minimum graph eccentricity
get_nbrs

Get all neighbors of one or more nodes
get_s_connected_cmpts

Get nodes within strongly connected components
get_multiedge_count

Get the count of multiple edges
get_selection

Get the current selection available in a graph object
mermaid

R + mermaid.js
layout_nodes_w_string

Layout nodes using a text-based schematic
get_girth

Get graph girth
get_node_attrs

Get node attribute values
grVizOutput

Widget output function for use in Shiny
add_global_graph_attrs

Add one or more global graph attributes
is_graph_dag

Is the graph a directed acyclic graph?
is_graph_directed

Is the graph a directed graph?
import_graph

Import a graph from various graph formats
add_node_df

Add nodes from a node data frame to an existing graph object
nudge_node_positions_ws

Move layout positions of a selection of nodes
add_nodes_from_df_cols

Add nodes from distinct values in data frame columns
add_star

Add a star of nodes to the graph
clear_selection

Clear an active selection of nodes or edges
open_graph

Read a graph or graph series from disk
count_graphs_in_graph_series

Count graphs in a graph series object
get_global_graph_attr_info

Get global graph attributes
mutate_edge_attrs

Mutate a set of edge attribute values
rescale_node_attrs

Rescale numeric node attribute values
rev_edge_dir

Reverse the direction of all edges in a graph
get_last_edges_created

Get the last set of edges created in a graph
count_loop_edges

Get count of all loop edges
get_periphery

Get nodes that form the graph periphery
mutate_edge_attrs_ws

Mutate edge attribute values for a selection of edges
get_predecessors

Get node IDs for predecessor nodes to the specified node
create_edge_df

Create an edge data frame
get_last_nodes_created

Get the last set of nodes created in a graph
create_graph

Create a graph object
remove_graph_from_graph_series

Remove a graph from a graph series
rename_edge_attrs

Rename an edge attribute
select_edges

Select edges in a graph
delete_global_graph_attrs

Delete one of the global graph attributes stored within a graph object
rev_edge_dir_ws

Reverse the direction of selected edges in a graph
get_node_df_ws

Get the graph's ndf filtered by a selection of nodes
get_node_ids

Get a vector of node ID values
save_graph

Save a graph or graph series to disk
is_edge_present

Determine whether a specified edge is present
select_edges_by_edge_id

Select edges in a graph using edge ID values
get_similar_nbrs

Get neighboring nodes based on node attribute similarity
get_successors

Get node IDs for successor nodes to the specified node
is_graph_connected

Is the graph a connected graph?
invert_selection

Invert selection of nodes or edges in a graph
is_graph_undirected

Is the graph an undirected graph?
edge_aes

Insert edge aesthetic attributes during edge creation
delete_graph_actions

Delete one or more graph actions stored within a graph object
is_edge_loop

Is the edge a loop edge?
select_last_nodes_created

Select the last set of nodes created in a graph
set_edge_attr_to_display

Set the edge attribute values to be rendered
join_edge_attrs

Join new edge attribute values using a data frame
edge_data

Insert edge data attributes during edge creation
set_edge_attrs

Set edge attribute values
join_node_attrs

Join new node attribute values using a data frame
node_data

Insert node data attributes during node creation
node_aes

Insert node aesthetic attributes during node creation
select_nodes

Select nodes in a graph
%>%

The magrittr pipe
print.dgr_graph

Print the graph to the terminal
get_agg_degree_out

Get an aggregate value from the outdegree of nodes
render_graph_from_graph_series

Render a graph available in a series
get_agg_degree_total

Get an aggregate value from the total degree of nodes
get_all_connected_nodes

Get all nodes connected to a specified node
get_alpha_centrality

Get the alpha centrality for all nodes
set_edge_attrs_ws

Set edge attributes with an edge selection
reorder_graph_actions

Trigger the execution of a series of graph actions
get_cmty_edge_btwns

Get community membership by edge betweenness
select_nodes_by_degree

Select nodes in the graph based on their degree values
set_node_attrs_ws

Set node attributes with a node selection
set_graph_directed

Convert an undirected graph to a directed graph
is_graph_weighted

Is the graph a weighted graph?
get_cmty_fast_greedy

Get community membership by modularity optimization
get_eccentricity

Get node eccentricities
mutate_node_attrs

Mutate a set of node attribute values
select_nodes_by_id

Select nodes in a graph by ID values
get_edge_attrs

Get edge attribute values
set_df_as_edge_attr

Set a data frame as an edge attribute
get_graph_info

Get metrics for a graph
set_node_position

Apply a layout position to a single node
set_node_attr_w_fcn

Set node attribute values with a graph function
mutate_node_attrs_ws

Mutate node attribute values for a selection of nodes
set_df_as_node_attr

Set a data frame as a node attribute
set_node_attrs

Set node attribute values
recode_edge_attrs

Recode a set of edge attribute values
get_graph_log

Get the graph log information
trav_out_until

Traverse outward node-by_node until stopping conditions are met
trav_out_node

Traverse from one or more selected edges onto adjacent, outward nodes
trav_in

Traverse from one or more selected nodes onto adjacent, inward nodes
get_graph_name

Get graph name
get_graph_series_info

Get information on a graph series
get_node_attrs_ws

Get node attribute values from a selection of nodes
get_node_df

Get a node data frame from a graph
get_radiality

Get radiality centrality scores
get_reciprocity

Get the graph reciprocity
is_edge_multiple

Is the edge a multiple edge?
trav_in_edge

Traverse from one or more selected nodes onto adjacent, inward edges
trav_both

Traverse from one or more selected nodes onto neighboring nodes
is_edge_mutual

Is the edge mutual with another edge?
is_node_present

Determine whether a specified node is present
usd_exchange_rates

US Dollar exchange rates.
recode_node_attrs

Recode a set of node attribute values
is_property_graph

Is the graph a property graph?
renderGrViz

Widget render function for use in Shiny
render_graph

Render the graph in various formats
node_list_2

Node list - Version 2.
trav_both_edge

Traverse from one or more selected nodes onto adjacent edges
node_list_1

Node list - Version 1.
rename_node_attrs

Rename a node attribute
select_last_edges_created

Select the last set of edges created in a graph
select_edges_by_node_id

Select edges in a graph using node ID values
renderDiagrammeR

Widget render function for use in Shiny
visnetwork

Render graph with visNetwork
trav_reverse_edge

Traverse to any reverse edges
replace_in_spec

Razor-like template for diagram specification
rescale_edge_attrs

Rescale numeric edge attribute values
trigger_graph_actions

Trigger the execution of a series of graph actions
x11_hex

X11 colors and hexadecimal color values
set_cache

Cache a vector in the graph
select_nodes_in_neighborhood

Select nodes based on a walk distance from a specified node
set_graph_name

Set graph name
set_graph_time

Set graph date-time and timezone
transform_to_min_spanning_tree

Get a minimum spanning tree subgraph
set_graph_undirected

Convert a directed graph to an undirected graph
set_node_attr_to_display

Set the node attribute values to be rendered
transform_to_subgraph_ws

Create a subgraph using node/edge selection
to_igraph

Convert a DiagrammeR graph to an igraph one
transform_to_complement_graph

Create a complement of a graph
trav_out

Traverse from one or more selected nodes onto adjacent, outward nodes
trav_out_edge

Traverse from one or more selected nodes onto adjacent, outward edges
trav_in_until

Traverse inward node-by_node until stopping conditions are met
trav_in_node

Traverse from one or more selected edges onto adjacent, inward nodes
DiagrammeROutput

Widget output function for use in Shiny
add_edge_df

Add edges from an edge data frame to an existing graph object
add_graph_action

Add a graph action for execution at every transform
add_edges_from_table

Add edges and attributes to graph from a table
add_grid_2d

Add a 2D grid of nodes to the graph
add_edge

Add an edge between nodes in a graph object
add_edge_clone

Add a clone of an existing edge to the graph
add_grid_3d

Add a 3D grid of nodes to the graph