Код для ggplotly показывает, что отправка осуществляется посредством класса hte класса значения last_plot()
:
ggplotly
#---------
function (p = ggplot2::last_plot(), width = NULL, height = NULL,
tooltip = "all", dynamicTicks = FALSE, layerData = 1, originalData = TRUE,
source = "A", ...)
{
UseMethod("ggplotly", p)
}
<bytecode: 0x7feba7ef5ff0>
<environment: namespace:plotly>
Итак, как вы и подозревали, похоже, что нет «следа» для использования терминологии plotly
, связанной с элементом класса: Class GeomHex, Geom, gg
. Однако существует метод, связанный со значениями класса GeomPath
, поэтому вы можете использовать geon_density2d
для анимации 2d-плотности с этими данными. Он выглядит немного запутанным во время анимации, но общий шаблон данных кажется мне очевидным:
library(plotly)
library(ggplot2)
library(gapminder)
p2 <- ggplot(gapminder) +
geom_density2d(aes(y = lifeExp, x = gdpPercap, frame=year))
ggplotly(p2)
От ggplot есть предупреждение о том, что кадр не используется, но необходимо сохранить аргумент frame
в вызове aes(.)
, чтобы сигнализировать ggploty
, что анимация желательна.
Также есть bin2d для анимации отображений интервального типа:
p3 <- ggplot(gapminder) +
geom_bin2d(aes(y = lifeExp, x = gdpPercap, frame=year))
ggplotly(p3)