Graph and network visualization using tabular data in R
OTHER License
Bot releases are hidden (Show)
DiagrammeR now has a dependency on viridisLite instead of viridis (@olivroy, #511)
DiagrammeR nows uses testthat 3rd edition (@olivroy, #498)
No longer use deprecated features from tibble, igraph and tidyselect (>= 1.2.0) (@olivroy, #497, #507)
Error messages have been reviewed and now use cli (@olivroy, #499, #502)
It is now easier to install suggested packages on the fly. DiagrammeR now uses rlang::check_installed()
internally. (@olivroy, #499)
DiagrammeR()
checks the type
argument more strictly. (@olivroy, #506)
DiagrammeR is compatible with igraph (>= 2.0.0) (@maelle, #500)
Published by rich-iannone over 1 year ago
get_constraint()
and get_bridging()
graph inspection functions.Published by rich-iannone over 2 years ago
grViz()
and mermaid()
Published by rich-iannone over 2 years ago
Published by rich-iannone almost 3 years ago
Fix malformed CSS selector in htmlwidgets/grViz.js
Only call replace_na(replace = "")
on character columns
Added the envir
argument to the grViz
and replace_in_spec
functions.
Published by rich-iannone over 4 years ago
set_df_as_node_attr()
, set_df_as_edge_attr()
, and get_attr_dfs()
functions.Published by rich-iannone almost 5 years ago
Published by rich-iannone over 6 years ago
Added the helper functions node_aes()
, node_data()
, edge_aes()
, and edge_data()
to facilitate the binding of node and edge aesthetic and data attribute values; several functions now have namesake arguments that accept these functions' output.
Information about the graph is now displayed in the console when the graph object is called
Error messages are now more helpful and try to provide pointers for the more common errors
Published by rich-iannone about 7 years ago
Added functions to generate 2D and 3D grid graphs (add_grid_2d()
and add_grid_3d()
)
Added _ws
(with selection) variants of the mutate_[node/edge]_attrs()
functions for mutating node or edge attributes for only those nodes/edges in an active selection
Incorporated an edges
argument into the select_edges()
function in order to filter the selection of edges to a set of edge ID values
Reduced the dependency on R to version >= 3.2.0
Published by rich-iannone about 7 years ago
Simplified many functions internally
Added a default print method for graph objects
Allowed use of bare node or edge attribute names in many functions
Implemented graph actions as a means to run one or more functions at every graph transformation step; for example, this can be used to automatically update a node attribute such as betweenness
whenever modifications to the graph are made (e.g., adding nodes, removing edges, etc.)
Data frames can be set as node or edge attributes with the set_df_as_node_attr()
and set_df_as_edge_attr()
functions; the get_attr_dfs()
function allows for retrieval of stored data frame data
Added two new graph-generating functions (add_gnp_graph()
, add_pa_graph()
, and create_complement_graph()
)
Added functions to clone existing nodes and edges (add_n_node_clones()
and add_edge_clone()
)
Added several count_*
functions (count_asymmetric_node_pairs()
, count_automorphisms()
, etc.)
Added new functions to obtain graph properties (get_adhesion()
, get_girth()
, get_reciprocity()
, etc.)
Added several is_*
functions for graph and edge properties (e.g., is_edge_loop()
, is_graph_dag()
, etc.)
The mutate_node_attrs()
and mutate_edge_attrs()
functions now have simpler and more powerful interfaces for mutating node and edge attributes
Graphs can be easily saved to disk (and read from disk) using the save_graph()
and open_graph()
functions
Published by rich-iannone almost 8 years ago
get_edge_ids()
and they can be used directly in the select_edges_by_edge_id()
function)set_graph_name()
)label
values are unique, they may now be used to compose edges using the add_edge()
function with use_labels = TRUE
colorize_node_attrs()
and colorize_edge_attrs()
functionscopy_[node/edge]_attrs()
, drop_[node/edge]_attrs()
, mutate_[node/edge]_attrs()
, recode_[node/edge]_attrs()
, rename_[node/edge]_attrs()
, and rescale_[node/edge]_attrs()
.join_node_attrs()
and join_edge_attrs()
functionsadd_balanced_tree()
, add_cycle()
, add_full_graph()
, add_path()
, add_prism()
, and add_star()
)trav_out_edge()
, trav_in_node()
) by providing an attribute name to copy_attrs_from
; for those traversal functions where nodes or edges may receive multiple values, one can specify an aggregation type in their agg
argument (e.g,. trav_in_node()
, trav_both_edge()
)mk_cond()
helper function for creating conditions for any of the traversal functions (trav_...()
), and, the select_nodes()
and select_edges()
functions; this helper allows for easier composition of selection/traversal conditions using variables and/or function callsselect_rev_edges_ws()
to transform that selection to that of the selected edges' reverse edges (where available); the option is there to add the reverse edges to the edge selection or to simply replace the current selectioncache_...()
functions (or, set the cache explicitly using set_cache()
); get the graph's cache using the get_cache()
functionset_node_position()
, layout_nodes_w_string()
, nudge_node_positions()
)to_igraph()
, from_igraph()
)from_adj_matrix()
)get_cmty_edge_btwns()
, get_cmty_fast_greedy()
, get_cmty_l_eigenvec()
, get_cmty_louvain()
, and get_cmty_walktrap()
.get_dice_similarity()
and get_jaccard_similarity()
.get_constraint()
functionget_nbrs()
, get_non_nbrs()
, get_similar_nbrs()
.get_w_connected_cmpts()
and get_s_connected_cmpts()
functionsget_articulation_points()
functionget_closeness()
and get_betweenness()
functionsget_min_spanning_tree()
functionrev_edge_dir()
) or for part of a graph using an edge selection (rev_edge_dir_ws()
)do_dfs()
and do_bfs()
functionsget_degree_distribution()
and get_degree_histogram()
functionsadd_global_graph_attrs()
, clear_global_graph_attrs()
, delete_global_graph_attrs()
, get_global_graph_attrs()
, set_global_graph_attrs()
display
node attribute; this is easily set with the set_node_attr_to_display()
functiongraph$graph_log
)write_backups
, set to FALSE
by default) is available in all functions that initialize a graph object (create_graph()
, create_random_graph()
, from_igraph()
, from_adj_matrix()
)Published by rich-iannone over 8 years ago
Published by rich-iannone over 8 years ago
Published by rich-iannone almost 9 years ago
rescale_node_attr_in_selection
and rescale_edge_attr_in_selection
functionscombine_graphs
function to combine two separate graph objects into onePublished by rich-iannone about 9 years ago
testthat
tests to maintain the quality of the graph functionscreate_random_graph()
, import_graph()
, combine_graphs()
, country_graph()
and select_graph_from_series()
visNetwork
graphs as a rendering option with render_graph
Published by rich-iannone over 9 years ago
graphviz_graph
and graphviz_render
to create_graph
and render_graph
, respectivelygraphviz_export
(exporting now handled with render_graph
)display_graph_object
, node_info
, edge_info
, node_present
, edge_present
, get_nodes
, get_edges
, get_predecessors
, get_successors
, node_count
, edge_count
, is_graph_empty
, is_graph_directed
, add_node
, add_edges
, delete_node
, delete_edge
, node_type
, edge_relationship
, create_series
, add_to_series
, remove_from_series
, graph_count
, subset_series
, trigger_script
, render_graph_from_series
, series_info
create_nodes
, create_edges
, combine_nodes
, combine_edges
, scale_nodes
, scale_edges
, get_nodes
, node_info
, graphviz_graph
, graphviz_render
, and graphviz_export
graphviz_nodes_edges_df
and graphviz_single_df
functionsPublished by rich-iannone over 9 years ago
graphviz_nodes_edges_df
for generating a Graphviz DOT code that defines nodes and edges (and their attributes) from data in two data frames: one for nodes, the other for the edge operationsgraphviz_single_df
for generating Graphviz DOT code from a single data frame@_{...}
or @^{...}
in grViz
statements for subscripting and superscripting, respectivelyPublished by rich-iannone over 9 years ago