geom_boxplot_interactive {ggiraph}R Documentation

Create interactive boxplot

Description

The geometry is based on geom_boxplot(). See the documentation for that function for more details.

Usage

geom_boxplot_interactive(...)

Arguments

...

arguments passed to base function, plus any of the interactive_parameters.

Details

You can supply ⁠interactive parameters⁠ for the outlier points by prefixing them with outlier. prefix. For example: aes(outlier.tooltip = 'bla', outlier.data_id = 'blabla').

IMPORTANT: when supplying outlier interactive parameters, the correct group aesthetic must be also supplied. Otherwise the default group calculation will be incorrect, which will result in an incorrect plot.

Details for interactive geom functions

The interactive parameters can be supplied with two ways:

See Also

girafe()

Examples

# add interactive boxplot -------
library(ggplot2)
library(ggiraph)

p <- ggplot(mpg, aes(x = class, y = hwy, tooltip = class)) +
  geom_boxplot_interactive()

x <- girafe(ggobj = p)
if (interactive()) print(x)

p <- ggplot(mpg) +
  geom_boxplot_interactive(
    aes(
      x = drv, y = hwy,
      fill = class,
      data_id = class,
      tooltip = after_stat({
        paste0(
          "class: ", .data$fill,
          "\nQ1: ", prettyNum(.data$ymin),
          "\nQ3: ", prettyNum(.data$ymax),
          "\nmedian: ", prettyNum(.data$middle)
        )
      })
    ),
    outlier.colour = "red"
  ) +
  guides(fill = "none") +
  theme_minimal()

x <- girafe(ggobj = p)
if (interactive()) print(x)


p <- ggplot(mpg) +
  geom_boxplot_interactive(
    aes(
      x = drv, y = hwy,
      fill = class, group = paste(drv, class),
      data_id = class,
      tooltip = after_stat({
        paste0(
          "class: ", .data$fill,
          "\nQ1: ", prettyNum(.data$ymin),
          "\nQ3: ", prettyNum(.data$ymax),
          "\nmedian: ", prettyNum(.data$middle)
        )
      }),
      outlier.tooltip = paste(
        "I am an outlier!\nhwy:", hwy, "\ndrv:", drv, "\nclass:", class
      )
    ),
    outlier.colour = "red"
  ) +
  guides(fill = "none") +
  theme_minimal()

x <- girafe(ggobj = p)
if (interactive()) print(x)

[Package ggiraph version 0.8.9 Index]