This is a minor release introducing a few new features.
grob_arrow(offset) argument can draw the arrows at some distance from
the original path. Note that this isn't exposed in layers (#8).geom_arrow(sep) uses the grob_arrow(offset) to display co-located arrows
in a dodged fashion (#8).grob_arrow(distort) is an experimental way to draw patterned lines.
It is exposed in layers via the geom_arrow(distort) parameter too (#6).arrow_head_halfline()arrow_head_halfwing()resect_fins aesthetic in geom_arrow_segment()
might have flunked a type check (#15).This is a small release adapting to new features in ggplot2 4.0.0 and fixing a bug.
element_arrow() is implemented as an S7 class from ggplot2 4.0.0 onwards.Initial CRAN submission
Several geom functions:
geom_arrow() that works like geom_path().geom_arrow_segment() that works like geom_segment()geom_arrow_chain() that works like a type = "b" plot from base R.geom_arrow_curve() that works like geom_curve().The function grob_arrow() creates a grid grob that largely mimics the
polylineGrob() grob, with the following differences.
arrow_{head/fins/mid} controls the shape of the ornament.length_{head/fins/mid} controls the size of the ornament.justify controls where an ornament is placed relative to the line ends.mid_place controls where middle (interior) arrows are placed.resect{_head/_fins} can shorten the endpoints.force_arrow determines if arrows are drawn on lines that are too short
to accommodate ornaments.shaft_width controls the linewidth for every point in x and yresect{_head/_fins}
arguments.fill controls the colour of the line,
whereas colour controls the colour of an outline.The arrow_{head/fins/mid} have been promoted from parameters to aesthetics.
Correspondingly, there are now 3 discrete scales for these 3 aesthetics.
Added the following shapes for ornaments:
arrow_head_wings() that looks like a classic arrow.arrow_head_line() that are two line protruding from the tip of the line.arrow_head_minimal() that is just a stumpy line-end.arrow_fins_feather() two stacked parallelograms.arrow_fins_line() also two lines but in opposite direction.arrow_fins_minimal() that is just a line-end with a triangle taken out.arrow_cup() that forms an arc around a point.An annotate_arrow() layer to specifically do arrow annotations.
An element_arrow() to replace line elements in the theme() by arrows.