Я пытаюсь понять, как построить анимацию накопительных линий с помощью plotly
. Код из «Графической библиотеки с открытым исходным кодом Plotly R» приведен ниже:
library(plotly)
accumulate_by <- function(dat, var) {
var <- lazyeval::f_eval(var, dat)
lvls <- plotly:::getLevels(var)
dats <- lapply(seq_along(lvls), function(x) {
cbind(dat[var %in% lvls[seq(1, x)], ], frame = lvls[[x]])
})
dplyr::bind_rows(dats)
}
df <- txhousing
fig <- df %>%
filter(year > 2005, city %in% c("Abilene", "Bay Area"))
fig <- fig %>% accumulate_by(~date)
- Основной вопрос - объяснить, что происходит, когда мы передаем
~date
в accumulate_by
функция. Какие значения dat
и var
переменные получат? И как это работает? - Если я понимаю, какие значения принимают переменные
var
и dat
, становится понятно, что делает функция f_eval
, но теперь я этого не понимаю. - Что такое
plotly:::getLevels
? Я имею в виду, я не нашел никакой документации об этой функции.