inst/doc/ggpackets.R

## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(
  echo = TRUE, 
  fig.align='center', 
  fig.width = 6,
  fig.height = 4,
  out.width = '600px', 
  out.height = '400px') 
library(ggpackets)

## ----libraries, message = FALSE, warning = FALSE------------------------------
library(ggplot2)

## ----ex1.ggplot, warning = FALSE----------------------------------------------
ggplot(mtcars) + 
  aes(x = carb, y = mpg) + 
  geom_bar(stat= 'summary', aes(y = mpg), 
    fun.data = function(c) c(y = mean(c))) + 
  geom_errorbar(stat = 'summary', aes(y = mpg), width = 0.2,
    fun.y = mean,
    fun.min = ~mean(.) - sd(.),
    fun.max = ~mean(.) + sd(.)) + 
  geom_text(stat = 'summary', vjust = -0.5, color = 'white',
    fun.data = function(c) c(
      label = length(c), 
      y = 0))

## ----ex1.ggpackets.ex0--------------------------------------------------------
my_ggpk_layers <- ggpacket() + 
  geom_bar(stat = 'summary', 
    fun.data = function(c) c(y = mean(c))) + 
  geom_errorbar(stat = 'summary', width = 0.2,
    fun.data = function(c) c(
      y = mean(c),
      ymin = mean(c) - sd(c),
      ymax = mean(c) + sd(c))) +
  geom_text(stat = 'summary', vjust = -0.5,
    color = 'white',
    fun.data = function(c) c(label = length(c), y = 0))

## ---- warning = FALSE---------------------------------------------------------
ggplot(mtcars) + 
  aes(x = carb, y = mpg, fill = as.factor(am)) + 
  my_ggpk_layers() + 
  facet_grid(. ~ am, scales = 'free')

## ----ex1.ggplot.func----------------------------------------------------------
my_plot <- function(data, x, y, fun.data = mean_se) {
  ggplot(data) + 
    aes_string(x = x, y = y) +
    
    geom_bar(stat= 'summary', 
      aes_string(y = y), 
      fun.data = fun.data) + 
    
    geom_errorbar(
      stat = 'summary', 
      aes_string(y = y), 
      width = 0.2,
      fun.data = fun.data) +
    
    geom_text(
      stat = 'summary', 
      color = 'white',
      vjust = -0.5, 
      fun.data = function(c) c(label = length(c), y = 0))
}

## ---- warning = FALSE---------------------------------------------------------
my_plot(mtcars, 'carb', 'wt')

## ----ex1.ggpackets2-----------------------------------------------------------
my_ggpk <- function(...) {
  ggpacket(...) %+%

  geom_bar(.id = 'bar',
    fun.data = mean_se,
    position = position_dodge(width = 1.0),
    ...,
    stat= 'summary') %+%
    
  geom_errorbar(.id = 'errorbar',
    fun.data = mean_se,
    position = position_dodge(width = 1.0),
    width = 0.2,
    ...,
    stat = 'summary') %+%

  geom_label(.id = 'label',
    position = position_dodge(width = 1.0),
    vjust = -0.5, color = 'white',
    alpha = 0.3, label.size = NA,
    ...,
    stat = 'summary',
    fun.data = function(d) c(label = length(d), y = 0))
}

## ---- warning = FALSE---------------------------------------------------------
ggplot(mtcars) + 
  aes(x = carb, y = mpg) + 
  my_ggpk(fun.data = mean_se, bar.mapping = aes(fill = carb))

## ----ggpackets.ex2, warning = FALSE-------------------------------------------
ggplot(mtcars) + 
  aes(x = carb, y = wt, fill = vs) + 
  my_ggpk() + 
  facet_grid(. ~ vs, scales = 'free')

## ----ggpackets.ex3, warning = FALSE-------------------------------------------
my_ggpk2 <- ggpacket() + 
  geom_ribbon(stat = 'summary', fun.data = mean_se, alpha = 0.2) + 
  geom_line(stat = 'summary', fun.data = mean_se, alpha = 0.3, size = 2)

ggplot(mtcars) + 
  aes(x = carb, y = wt) + 
  my_ggpk() + 
  my_ggpk2

## ----ggpackets.ex4------------------------------------------------------------
ggplot(mtcars) + 
  aes(x = carb, y = wt, fill = carb) + 
  my_ggpk() + 
  ggtitle('A beautiful ggpackets plot!') + 
  theme_light()

Try the ggpackets package in your browser

Any scripts or data that you put into this service are public.

ggpackets documentation built on Oct. 11, 2022, 1:06 a.m.