首页 > 解决方案 > 使用 Crosstalk 和 Plotly 过滤直方图而不使用 `group` 参数

问题描述

我正在创建一个项目,希望将交互式直方图嵌入到从 R Markdown 文档生成的 html 页面中。由于与交互式直方图的数量和潜在的使用量相关的成本,Shiny 不是这个项目的可行方法,所以我试图为交互式直方图嵌入一个 html 小部件,可以使用CrosstalkPlotly进行过滤. 到目前为止,我已经能够在使用 in 中的group参数时创建一个可过滤的直方图ggplot(aes())(reprex 包含在下面)。最终,我想使用多个变量来过滤直方图,如果我使用group参数会导致问题。

有没有一种方法可以在不使用参数的情况下使用 Crosstalk 和 Plotly 过滤直方图group

谢谢!

library(crosstalk)
library(plotly)
library(reprex)

shared_mtcars <- SharedData$new(mtcars)
bscols(widths = c(3, NA),
       list(
         filter_checkbox("cyl", "Cylinders", shared_mtcars, ~cyl, inline = TRUE)
       ),
       plotly::ggplotly(shared_mtcars %>% 
                          ggplot(aes(x = mpg, group = factor(cyl))) + 
                          geom_histogram(fill = "pale green",
                                         color = "black") + 
                          theme(legend.position = "none"))
)

标签: rplotlycrosstalk

解决方案


推荐阅读