Shapes

Shapes are, in essence, anything with volume. These geoms allow you to draw differnt types of parameterised shapes, all taking advantage of the benefit of the geom_shape improvements to geom_polygon.

geom_shape()

Draw polygons with expansion/contraction and/or rounded corners

stat_circle() geom_circle()

Circles based on center and radius

stat_ellip() geom_ellipse()

Draw (super)ellipses based on the coordinate system scale

stat_regon() geom_regon()

Draw regular polygons by specifying number of sides

stat_arc_bar() stat_pie() geom_arc_bar()

Arcs and wedges as polygons

stat_bspline_closed() geom_bspline_closed() geom_bspline_closed0()

Create closed b-spline shapes

stat_diagonal_wide() geom_diagonal_wide()

Draw an area defined by an upper and lower diagonal

stat_parallel_sets() geom_parallel_sets() stat_parallel_sets_axes() geom_parallel_sets_axes() geom_parallel_sets_labels()

Create Parallel Sets diagrams

geom_voronoi_tile() geom_voronoi_segment() geom_delaunay_tile() geom_delaunay_segment() geom_delaunay_segment2() stat_delvor_summary()

Voronoi tesselation and delaunay triangulation

Lines

The different line geoms are all parameterised versions of different line types, greatly easing your pain when needing a special type of stroke. Many of them have several versions depending on whether you want to show gradients along the lines, interpolate between endpoint aesthetics, or simply have a barebone version.

stat_link() stat_link2() geom_link() geom_link2() geom_link0()

Link points with paths

stat_arc() geom_arc() stat_arc2() geom_arc2() stat_arc0() geom_arc0()

Arcs based on radius and radians

stat_bezier() geom_bezier() stat_bezier2() geom_bezier2() stat_bezier0() geom_bezier0()

Create quadratic or cubic bezier curves

stat_bspline() geom_bspline() stat_bspline2() geom_bspline2() stat_bspline0() geom_bspline0()

B-splines based on control points

stat_diagonal() geom_diagonal() stat_diagonal2() geom_diagonal2() stat_diagonal0() geom_diagonal0()

Draw horizontal diagonals

stat_spiro() geom_spiro()

Draw spirograms based on the radii of the different "wheels" involved

geom_voronoi_tile() geom_voronoi_segment() geom_delaunay_tile() geom_delaunay_segment() geom_delaunay_segment2() stat_delvor_summary()

Voronoi tesselation and delaunay triangulation

Annotation

Annotation is important for storytelling, and ggforce provides a family of geoms that makes it easy to draw attention to, and describe, features of the plot. They all work in the same way, but differ in the way they enclose the area you want to draw attention to.

geom_mark_rect()

Annotate areas with rectangles

geom_mark_circle()

Annotate areas with circles

geom_mark_ellipse()

Annotate areas with ellipses

geom_mark_hull()

Annotate areas with hulls

Facets

Facets are one of the greatest things in ggplot2, and ggforce comes with more of the awesomeness, both with variants of facet_grid and facet_wrap, as well as completely new takes on faceting.

facet_zoom()

Facet data for zoom with context

facet_wrap_paginate()

Split facet_wrap over multiple plots

facet_grid_paginate()

Split facet_grid over multiple plots

facet_stereo()

Create a stereogram plot

Scales

While separate packages comes with different palettes for already established scales, ggforce provides two completely new ones.

scale_x_unit() scale_y_unit()

Position scales for units data

scale_depth() scale_depth_continuous() scale_depth_discrete()

Scales for depth perception

Transformations

Transformations can both be used to transform scales and coordinate systems but can also be used more broadly for describing specific types of spatial transformation of data.

trans_reverser()

Reverse a transformation

power_trans()

Create a power transformation object

radial_trans()

Create radial data in a cartesian coordinate system

linear_trans() rotate() stretch() shear() translate() reflect()

Create a custom linear transformation

Misc

ggforce contains an assortment of various stuff that doesn’t fit into a bigger bucket. That doesn’t make it any less useful.

stat_sina() geom_sina()

Sina plot

position_jitternormal()

Jitter points with normally distributed random noise

gather_set_data()

Tidy data for use with geom_parallel_sets

n_pages()

Determine the number of pages in a paginated facet plot

theme_no_axes()

Theme without axes and gridlines

ggforce

ggforce: Accelerating ggplot2

GeomShape

ggforce extensions to ggplot2