使用ggvis绘制密度图并添加工具提示?

3

我正在尝试为我的ggvis图形添加一个tooltip。我想在鼠标悬停在密度图上时添加密度数字。这是我现在的代码:

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

谢谢!

1个回答

2
我只能提供部分答案,但这可能会帮助您找到正确的方向。
以下代码将为您提供工具提示:
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) 可以得到一个密度数据框。

希望有其他人能够改进这个答案,以得到完整的解决方案。


这绝对是意料之外的行为,也许我们应该把它放在 Github 的问题队列中。我能想到的唯一解决方案就是使用已经计算好的密度值,正如你所暗示的那样。 - ideamotor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接