График плотности ggvis с всплывающей подсказкой?

Я пытаюсь добавить tooltip в свой график ggvis. Я в основном хочу добавить число плотности при наведении указателя мыши на график плотности. Вот что у меня сейчас:

mtcars %>% ggvis(~wt, fill := "red") %>% 
  layer_densities() %>%  
  add_axis("x", title = "Weight") %>% 
  scale_numeric("x", domain = c(0, 5), nice = FALSE, clamp = TRUE) %>% 
  add_tooltip(function(df){density(df$wt)})

Но при наведении курсора появляется такая ошибка:

Error in density.default(df$wt) : argument 'x' must be numeric

Спасибо!


person Ignacio    schedule 30.06.2014    source источник


Ответы (1)


У меня есть только частичный ответ, но он может помочь вам в правильном направлении.

Следующий код даст вам всплывающую подсказку:

mtcars %>% ggvis(~wt, fill:="red") %>%
  layer_densities() %>%  
  add_axis("x", title = "Weight") %>% 
  add_tooltip(function(data){data$resp_}, "hover")

Однако всплывающая подсказка содержит одно и то же значение (то есть первое значение кривой плотности) для каждого значения x.

С dens <- mtcars %>% compute_density(~wt) вы получите фрейм данных плотности.

Надеюсь, кто-то еще захочет улучшить этот ответ, чтобы получить полное решение ..

person Jaap    schedule 30.06.2014
comment
Это определенно неожиданное поведение, возможно, нам стоит поставить это в очередь проблем на github. Единственное решение, которое я могу придумать, - это использовать значения плотности, которые уже рассчитаны, как вы и предполагали. - person ideamotor; 19.08.2014