Learn R Programming

ggiraph (version 0.9.0)

geom_label_interactive: Create interactive textual annotations

Description

The geometries are based on ggplot2::geom_text() and ggplot2::geom_label(). See the documentation for those functions for more details.

Usage

geom_label_interactive(...)

geom_text_interactive(...)

Arguments

...

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

Details for interactive geom functions

The interactive parameters can be supplied with two ways:

  • As aesthetics with the mapping argument (via ggplot2::aes()). In this way they can be mapped to data columns and apply to a set of geometries.

  • As plain arguments into the geom_*_interactive function. In this way they can be set to a scalar value.

See Also

girafe()

Examples

Run this code
# add interactive labels to a ggplot -------
library(ggplot2)
library(ggiraph)


p <- ggplot(mtcars, aes(wt, mpg, label = rownames(mtcars))) +
  geom_label_interactive(aes(
    tooltip = paste(rownames(mtcars), mpg, sep = "\n")
  ))
x <- girafe(ggobj = p)
if (interactive()) {
  print(x)
}


p <- ggplot(mtcars, aes(wt, mpg, label = rownames(mtcars))) +
  geom_label_interactive(
    aes(fill = factor(cyl), tooltip = paste(rownames(mtcars), mpg, sep = "\n")),
    colour = "white",
    fontface = "bold"
  )
x <- girafe(ggobj = p)
if (interactive()) {
  print(x)
}
# add interactive texts to a ggplot -------
library(ggplot2)
library(ggiraph)

## the data
dataset = mtcars
dataset$label = row.names(mtcars)

dataset$tooltip = paste0(
  "cyl: ",
  dataset$cyl,
  "",
  "gear: ",
  dataset$gear,
  "",
  "carb: ",
  dataset$carb
)

## the plot
gg_text = ggplot(
  dataset,
  aes(
    x = mpg,
    y = wt,
    label = label,
    color = qsec,
    tooltip = tooltip,
    data_id = label
  )
) +
  geom_text_interactive(check_overlap = TRUE) +
  coord_cartesian(xlim = c(0, 50))

## display the plot
x <- girafe(ggobj = gg_text)
x <- girafe_options(x = x, opts_hover(css = "fill:#FF4C3B;font-style:italic;"))
if (interactive()) {
  print(x)
}

Run the code above in your browser using DataLab