ggplot2 now has an official extension mechanism. This means that others can now easily create their own stats, geoms and positions, and provide them in other packages. This should allow the ggplot2 community to flourish, even as less development work happens in ggplot2 itself. This page showcases these extensions.

Make ggplot interactive

Horizontal versions of ggplot2 geoms

Extra coordinate systems, geoms & stats

Accelarating ggplot2

Repel overlapping text labels

Plot graph-like data structures

Miscellaneous extensions to ggplot2

Network visualizations in ggplot2

Marginal density plots or histograms

Create easy animations with ggplot2

Interactive ROC plots

ggplot themes and scales

Extensions for radiation spectra

Geoms to plot networks with ggplot2

ggplot2 tech themes, scales, and geoms

radar charts with ggplot2

Time series visualisations

A phylogenetic tree viewer

Seasonal adjustment on the fly

https://github.com/thomasp85/ggforce

ggforce is aimed at providing missing functionality to ggplot2 through the extension system introduced with ggplot2 v2.0.0.

```
# Example from https://github.com/thomasp85/ggforce
library(ggplot2)
library(ggforce)
# We'll start by defining some dummy data
pie <- data.frame(
state = c('eaten', 'eaten but said you didn\'t', 'cat took it',
'for tonight', 'will decompose slowly'),
focus = c(0.2, 0, 0, 0, 0),
start = c(0, 1, 2, 3, 4),
end = c(1, 2, 3, 4, 2*pi),
amount = c(4,3, 1, 1.5, 6),
stringsAsFactors = FALSE
)
p <- ggplot() + theme_no_axes() + coord_fixed()
# For low level control you define the start and end angles yourself
p + geom_arc_bar(aes(x0 = 0, y0 = 0, r0 = 0, r = 1, start = start, end = end,
fill = state),
data = pie)
```

```
# Here are some data describing some circles
circles <- data.frame(
x0 = rep(1:3, 2),
y0 = rep(1:2, each=3),
r = seq(0.1, 1, length.out = 6)
)
ggplot() + geom_circle(aes(x0=x0, y0=y0, r=r, fill=r), data=circles)
```