get_edges() (#362)GeomEdgeTile now uses edge_width instead
of edge_size for the bordergeom_edge_parallel() when used with edge
labels. Edges are now correctly offset, though label may still overlap
(#227)get_con() that would lead to wrong
matching of additional data (#249)na.rm in geoms (#301)check_overlap = TRUE in
geom_node_text() the rendering order is reversed so that
the top nodes are rendered, not the bottom onesguide_edge_direction(), this update adds the option to use
labels instead of an arrow using the labels argument.create_layout() now returns a modified tibble rather
than a data.frame... in get_nodes(),
get_edges(), and get_con() now accepts tidy
evaluation. get_nodes() and get_con() will get
evaluated on the node data in the original order (layouts may reorder
nodes), and get_edges() will get evaluated on the edge data
(#272)weight argument allowing
you to set how much space each node occupy. Further, the layout now
calculates statistics so that it can be used in conjunction with
geom_node_tile() and geom_node_arc_bar()geom_edge_bundle_force(),
geom_edge_bundle_path(), and
geom_edge_bundle_minimal() (+ variants) to provide support
for edge bundling (#267)layout_sf(), geom_node_sf() and
geom_edge_sf() to support plotting of sfnetwork
objects (#275)facet_graph() when using .
on either dimension (#313)layout in
create_layout() (#208)dim to a value higher than 2 in
igraph layouts (#160)label_colour to
NA would turn it off instead of inheriting the colour of
the edge (#238)native now works as expected again (#254)get_con() that would require input to be
sorted in the from vector (#258)geom_edge_elbow() that resulted in
duplicated group columns in the data.qgraph() in favour of
autograph() to avoid name collision with
qgraph::qgraph(). autograph() is now also a
generic with a default method, so you can provide your own specific
ggraph plot method for your network classesThis release is a major release including many new features, bug fixes and some breaking changes.
Use tidygraph as the central data format. The results of this are several:
"even" layout for
dendrograms are no more, but can be obtained by using the
"dendrogram" layout with height = NULLtree_apply has been removed in favour of using
tidygraph::map_bfs_*geom_edge_elbow is no longer only available to
dendrogram objectssort.by = node_rank_hclust()
in your specification of a linear layout, or
aes(colour = group_infomap()) in node geomsThis big change fixes #21, #72, #79, and #81. A vignette has been added to describe the integration in more detail
The curvature argument from
geom_edge_arc() and geom_edge_hive() as well
as the spread argument from geom_edge_fan()
has been deprecated in favor of the new strength
argument.
ggraph plots now gets constructed with grid and axes removed from the default theme.
geom_edge_parallel() for drawing multiedges as
parallel lines (#191)geom_node_range() and geom_edge_span() for
visualising such layouts (#47)geom_edge_bend() for drawing soft elbows
(#45)geom_node_voronoi() for displaying nodes as
voronoi tiles (#100)qgraph() for quickly creating a standard network
plot for explorative purpose (#94)strength parameter that controls their deviation from a
straight line. 0 will always give a straight line while
1 will be their natural look. Numbers outside this range
may look weird (#97)weight and mode arguments to
get_con() that are passed on to the shortest path
calculations (#89).geom_edge_point() (#23)geom_edge_tile() for use with matrix layouts
(#141)x and y argument is present, the
auto layout will choose the manual layout.
(#91)data.frame or an object coercible to a
tbl_graph. In the latter case the node table will be used
as layout and the graph will be attached. This allows direct use of the
particles package as a layout engine as a side effect. (#88)label_parse = TRUE (#159)facet_graph() with data from
both tbl_df and data.frameoverride.aes to
guide_edge_direction()