add_fun {plotly} | R Documentation

## Apply function to plot, without modifying data

### Description

Useful when you need two or more layers that apply a summary statistic to the original data.

### Usage

    add_fun(p, fun, ...)

### Arguments

`p` | a plotly object.
`fun` | a function. Should take a plotly object as input and return a modified plotly object.
`...` | arguments passed to `fun`.

### Examples

    txhousing %>%
      group_by(city) %>%
      plot_ly(x = ~date, y = ~median) %>%
      add_lines(alpha = 0.2, name = "Texan Cities") %>%
      add_fun(function(plot) {
        plot %>% filter(city == "Houston") %>% add_lines(name = "Houston")
      }) %>%
      add_fun(function(plot) {
        plot %>% filter(city == "San Antonio") %>% add_lines(name = "San Antonio")
      })

    plot_ly(mtcars, x = ~wt, y = ~mpg) %>%
      add_markers() %>%
      add_fun(function(p) {
        p %>% slice(which.max(mpg)) %>%
          add_annotations("Good mileage")
      }) %>%
      add_fun(function(p) {
        p %>% slice(which.min(mpg)) %>%
          add_annotations(text = "Bad mileage")
      })

[Package plotly version 4.7.1 Index]