Changes in version 0.5.0.9000 Changes in version 0.5.0 (2025-06-18) - Fixed a bug that would cause reordering of data in some geoms (#314) - The concaveman package is no longer a dependency for geom_mark_hull() (#308) - Setting both label and description to NA will now turn off label drawing for that mark completely while still drawing the mark - Fix a bug in geom_mark_rect() where the mark would not be shown in all panels (#307) - Fixed a bug in the geom_mark_*() geoms where having NA values in the filter aesthetic would lead to weird errors. NA is now treated as FALSE (#306) - shapeGrob() is now exported for use by other packages (#303) - Fix a bug in geom_autohistogram() that prevented it to be used with continuous data (#297) - facet_zoom() now throws a better error when used with coord_flip() (#143) - You can now use "inherit", "inherit_fill", and "inherit_col" for the styling of the label box and connector in the geom_mark_*() family of geoms (#240) - Prepare for upcoming changes in ggplot2 Changes in version 0.4.2 (2024-02-19) - Fix a documentation issue reported by CRAN Changes in version 0.4.1 (2022-10-04) - Fixed a sanitizer error in the decent calculations used for the mark geoms - Fixed a typo bug in the vctrs implementations Changes in version 0.4.0 (2022-09-29) - Moved to vctrs internally - Updated error messaging to use cli - geom_diagonal(), geom_diagonal_wide(), geom_parallel_sets(), and geom_sina() are now bidirectional in the style of ggplot2 - geom_mark_*() now works correctly in the presence of NA values in x and y - The zoom, zoom.x, and zoom.y elements now uses proper registration of theme elements, inheriting from strip.background. - Fixed bug in geom_sina() when groups contained less than 3 points - Fixed bug in geom_parallel_sets() that erroneously removed grouping information in some configurations - Added jitter_y argument to geom_sina() to control whether y jittering is performed on integerish y values. - facet_zoom() now works with patchwork - Fix bug in geom_mark_ellipse() that caused wrong orientation of ellipses with groups of two. - gather_set_data() now supports tidyselect. - position_jitternormal() gains a seed argument in parallel to ggplot2::position_jitter() - geom_sina() now works when the group only have a single unique y value - facet_zoom() now works correctly with transformed scales - facet_wrap_paginate() now works correctly with dir = 'v' - facet_matrix() now supports a labeller - fix a bug in geom_parallel_sets_axes() that prevented coloring of axis fill - fix a bug in stat_circle() if the x and y aesthetics were inherited from the global mapping - facet_zoom() now works even when limits are set by the scales Changes in version 0.3.4 (2022-08-18) - Changed documentation to comply with new units package - Fixed unintentional re-ordering of shapes (#224) - Deprecate scale_[x|y]_unit in favor of units::scale_[x|y]_units Changes in version 0.3.2 (2020-06-23) - Changes to comply with latest ggplot2 release - Make sure ggforce pass test even if concaveman is not available Changes in version 0.3.1 (2019-08-20) - Better fix for gganimate compatibility (#157) Changes in version 0.3.0 (2019-08-09) - Added facet_matrix() in order to facet different data columns into different rows and columns in a grid, in order to make e.g. scatterplot matrices and pairs plot - Added geom_autopoint() and position_auto() to jitter points based on the type of positional scales in the panel - Added geom_autohistogram() and geom_autodensity() for facilitating distribution plots along the diagonal in a facet_matrix() plot. - Added facet_row() and facet_col to have one-dimensional facet_wrap() with possibility of variable sizing. - Stats should now always keep the old group variable (potentially with something added), making them work with gganimate - Removed the Visual Guide vignette to reduce compilation time. See the website for an overview of all functionality with compiled examples (https://ggforce.data-imaginist.com) Changes in version 0.2.2 (2019-04-23) - Fixed a regression in geom_sina() where the computation would fail with a warning due to tolower() being masked (#134, #135). Changes in version 0.2.1 (2019-03-12) - Fixed a bug in the calculation of open and closed b-splines, where the interval would exceed the defined region and result in an out-of-bounds memory error Changes in version 0.2.0 (2019-03-07) New features - linear_trans for composing linear transformation using rotate, stretch, shear, reflect, and translate - facet_stereo added for creating stereographic projections - geom_voronoi_[tile|segment], geom_delaunay_[tile|segment|segment2], and stat_delvor_summary has been added for tesselation and triangulation. - geom_spiro has been added for drawing spirographs - Add geom_ellipse for drawing regular and superellipses - Add geom_regon for drawing regular polygons - Add geom_diagonal, geom_diagonal_wide and geom_parallel_sets for drawing parallel sets diagrams and other visualizations based on diagonals. - Add geom_shape for drawing polygons with rounded corners and expanded/contracted sides. geom_shape replaces all geom_polygon internally. - Added geom_bspline_closed to draw polygons defined as b-splines - Add geom_mark_[rect|circle|ellipse|hull] to encircle a group of points and optionally add textual annotation to it - Add position_jitternormal to jitter points based on a normal distribution (@andrewheiss) Improvements - facet_[wrap|grid]_paginate will now try to make panels on the last page the same size as on full pages (#7) - facet_zoom now gains xlim and ylim arguments to control zoom range directly - facet_zoom now gains zoom.data to control which data gets plotted in which panel - Slimmed down the dependencies for the package. plyr, lazyeval and dplyr has all been removed - Rewrite geom_sina to match geom_violin and allow for dodging - Add open/clamped option to `geom_bspline Bug fixes - Fix interpolation of x and y values in geom_link2 (@thomasp85 and @lepennec) - stat_link no longer replicates the group column - arcs and links no longer rename aesthetics when only one aesthetic is present (drop = FALSE) - stat_bezier0 and stat_bezier2 now return data in the expected format - Fix bug with n_pages due to internal changes in ggplot2 - Fix bug in facet_zoom in combination with secondary y-axis where the space for the y-axis would become huge - Correctly detect and error out when scales and coords does not work with facet_zoom - The *2 versions of line geoms no longer adds an NA to guides. Changes in version 0.1.1 (2016-11-28) New features - Zoom indicator styling can now be specified separetely for x and y zoom using zoom.x and zoom.y in theme (inherits from zoom that inherits from strip.background) Bug fixes - Fix bug in facet_wrap_paginate that threw errors when using it with free scales (#19) - Fixes bug in facet_zoom where y-axis would be incorrectly displayed when zooming on both axes without splitting the view (#23) - Fixes bug in facet_zoom where scale expansion where not taken into account when drawing the indicator area (#22) - Fixes a bug in facet_zoom that would throw errors with layers not containing the column that is zoomed by (#21) Changes in version 0.1.0 (2016-11-22) Major changes - geom_edge_bundle has been renamed geom_bspline and lost the tension argument. True edge bundle functionality has been moved to ggraph New features - geom_bezier for drawing quadratic and cubic beziers - geom_link for augmented segment/path drawing - geom_sina as an alternative to geom_violin and geom_beeswarm - scale_[x|y]_unit for using units vectors - facet_[wrap|grid]_paginate to split facetting into multiple pages - facet_zoom for contextual zooming Changes in version 0.0.1 Major changes - First commit New features - geom_arc / stat_arc for drawing circle segments - geom_edge_bundle / stat_edge_bundle for drawing edge bundles based on control points - geom_arc_bar /stat_arc_bar / stat_pie for drawing arcs and wedges with fill - geom_circle / stat_circle for drawing circles with radius based on coordinate system scale - power_trans for creating power transformations - radial_trans for creating transformation between radial and cartesian coordinates - trans_reverser for reversing a trans object