ShapesShapes 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 


Draw polygons with expansion/contraction and/or rounded corners 

Circles based on center and radius 

Draw (super)ellipses based on the coordinate system scale 

Draw regular polygons by specifying number of sides 

Arcs and wedges as polygons 


Create closed bspline shapes 
Draw an area defined by an upper and lower diagonal 


Create Parallel Sets diagrams 

Voronoi tesselation and delaunay triangulation 
LinesThe 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. 


Link points with paths 

Arcs based on radius and radians 

Create quadratic or cubic bezier curves 

Bsplines based on control points 

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


Voronoi tesselation and delaunay triangulation 
AnnotationAnnotation 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. 

Annotate areas with rectangles 

Annotate areas with circles 

Annotate areas with ellipses 

Annotate areas with hulls 

FacetsFacets are one of the greatest things in ggplot2, and ggforce comes with more of the awesomeness, both with variants of 

Facet data for zoom with context 

Split facet_wrap over multiple plots 

Split facet_grid over multiple plots 

Create a stereogram plot 

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

Position scales for units data 


Scales for depth perception 
TransformationsTransformations 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. 

Reverse a transformation 

Create a power transformation object 

Create radial data in a cartesian coordinate system 


Create a custom linear transformation 
Miscggforce contains an assortment of various stuff that doesn’t fit into a bigger bucket. That doesn’t make it any less useful. 

Sina plot 

Jitter points with normally distributed random noise 

Tidy data for use with geom_parallel_sets 

Determine the number of pages in a paginated facet plot 

Theme without axes and gridlines 

ggforce: Accelerating 'ggplot2' 

ggforce extensions to ggplot2 