R: ggforce: Accelerating ggplot2

ggforce {ggforce} | R Documentation

## ggforce: Accelerating ggplot2

### Description

This package contains a range of useful stats, geoms, trans and utilities to get more out of ggplot2. Many of the additions are mainly aimed at developers wanting to develop new visualizations using ggplot2 rather than statisticians wanting to understand their data.

### Author(s)

Thomas Lin Pedersen

### See Also

Useful links:

- https://ggforce.data-imaginist.com

- Report bugs at https://github.com/thomasp85/ggforce/issues

### Examples

    rocketData <- data.frame(
      x = c(1, 1, 2, 2),
      y = c(1, 2, 2, 3)
    )
    rocketData <- do.call(rbind, lapply(seq_len(500) - 1, function(i) {
      rocketData$y <- rocketData$y - c(0, i / 500)
      rocketData$group <- i + 1
      rocketData
    }))
    rocketData2 <- data.frame(
      x = c(2, 2.25, 2),
      y = c(2, 2.5, 3)
    )
    rocketData2 <- do.call(rbind, lapply(seq_len(500) - 1, function(i) {
      rocketData2$x[2] <- rocketData2$x[2] - i * 0.25 / 500
      rocketData2$group <- i + 1 + 500
      rocketData2
    }))

    ggplot() + geom_link(aes(
      x = 2, y = 2, xend = 3, yend = 3, alpha = ..index..,
      size = ..index..
    ), colour = 'goldenrod', n = 500) +
      geom_bezier(aes(x = x, y = y, group = group, colour = ..index..),
        data = rocketData
      ) +
      geom_bezier(aes(x = y, y = x, group = group, colour = ..index..),
        data = rocketData
      ) +
      geom_bezier(aes(x = x, y = y, group = group, colour = 1),
        data = rocketData2
      ) +
      geom_bezier(aes(x = y, y = x, group = group, colour = 1),
        data = rocketData2
      ) +
      geom_text(aes(x = 1.65, y = 1.65, label = 'ggplot2', angle = 45),
        colour = 'white', size = 15
      ) +
      coord_fixed() +
      scale_x_reverse() +
      scale_y_reverse() +
      scale_alpha(range = c(1, 0), guide = 'none') +
      scale_size_continuous(
        range = c(20, 0.1), trans = 'exp',
        guide = 'none'
      ) +
      scale_color_continuous(guide = 'none') +
      xlab('') + ylab('') +
      ggtitle('ggforce: Accelerating ggplot2') +
      theme(plot.title = element_text(size = 20))

[Package ggforce version 0.2.2 Index]