我想创建一个交互式条形图,让用户根据一系列值过滤观察结果,然后动态呈现所选时间段内每个类的计数。由于过滤后的数据需要可用于许多此类图表,我认为串扰和plotly/ggplot的组合可能证明是有价值的。
我在下面附加了一个表示,它使用共享数据和来自串扰的过滤功能来允许动态过滤部分。当我编织文档时,只要选择了全范围的值(默认),条形图就会很好地呈现。
但是,绘图区域对于任何其他区域都变为空,即。用户调整范围。
我到底在这里想念什么?我假设ggplotly()
无法正确处理的完整和过滤共享数据集之间肯定存在差异。我是否可以采用另一种方法来实现我的目标?
这是我的 .Rmd 文件的内容:
---
title: mpg class counts filtered by time period
output: html_document
---
```{r echo = FALSE, message = FALSE, warning = FALSE}
library(crosstalk)
library(plotly)
# Wrap data frame in SharedData
sd = SharedData$new(mpg)
# Create a filter input
filter_slider("Year", "Year", sd, column = ~ year, step = 1, width = 250)
# Render graph
bscols(
ggplotly(
ggplot(aes(x = class), data = sd) +
geom_bar()
)
)
```