The goal of ggplotlyExtra is to make a ready-customized functions for smooth transition between ‘ggplot2’ and ‘plotly’.
This is a basic example which shows you how to solve a common problem:
library(ggplot2)
#> Warning: package 'ggplot2' was built under R version 3.5.3
library(plotly)
#> Warning: package 'plotly' was built under R version 3.5.3
#>
#> Attaching package: 'plotly'
#> The following object is masked from 'package:ggplot2':
#>
#> last_plot
#> The following object is masked from 'package:stats':
#>
#> filter
#> The following object is masked from 'package:graphics':
#>
#> layout
library(ggplotlyExtra)
p <- ggplot() + ggplotly_histogram(data = ToothGrowth, mapping = aes(len))+
xlab("len")
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#> Warning: Ignoring unknown aesthetics: label1, label2, label3
ggplotly(p, tooltip = c("Range", "count", "density"))
#> PhantomJS not found. You can install it with webshot::install_phantomjs(). If it is installed, please make sure the phantomjs executable can be found via the PATH variable.
You can hover on the histogram to see how this works.