can.interact: Identify if a plot can be interactive
Description
Several iNZightPlots graphs have been enabled with custom interaction,
while others make use of the automatic output of `plotly`.
This function returns `TRUE` if the provided plot has interaction
(as determined by iNZight), and `FALSE` otherwise.
Usage
can.interact(x)
# S3 method for default
can.interact(x)
# S3 method for inzplotoutput
can.interact(x)
# S3 method for ggplot
can.interact(x)
Arguments
x
a plot object returned from a plotting function
Value
Logical to identify if there is an interactive version
inzplotoutput: Graphs from `iNZightPlot()`, many of which
have interaction enabled, but some do not (for example, hex plots)
ggplot: Those `iNZight*` plotting functions which return
a `ggplot2` object and have been tested to work with plotly
will be tagged as such; this is just a helper to check for
the necessary attribute.
Details
Not that, while most `ggplot2` graphs can be passed to `plotly`,
and even though we are using plot.ly directly for some of our ggplot2
graphs, we still only return `TRUE` if the graph was created
by one of the packages in the iNZight collection.