2

我正在尝试为flexdashboard 创建一个绘图仪表图,它应该根据在crosstalk::filter_select().

我已经尝试过,但无法让过滤器工作。这是我正在尝试做的 mtcars 示例。我注意到,如果 SharedData 对象只有一个值,那么它可以工作,但否则 plotly 不会显示任何数据。

mtcars_data <- tibble::rownames_to_column(mtcars, "Car")

shared_mtcars <- SharedData$new(mtcars_data)
row1 <- bscols(filter_select("Car", "Car", shared_mtcars, ~Car, multiple = F)
)

fig <- plot_ly(shared_mtcars, 
  domain = list(x = c(0, 1), y = c(0, 1)),
  value = ~mpg,
  title = list(text = "MPG"),
  type = "indicator",
  mode = "gauge+number")

bscols(row1, fig, widths = 12)

此代码生成一个没有数据的图表。如果我对 mtcars_data 进行子集化以获取第一行或前两行(恰好具有相同的 mpg 值),那么它可以工作。如果我对第 1 行和第 3 行进行子集化,则不会。

我可能会遗漏一些东西 - 在这种情况下,我会非常感谢任何反馈。

4

0 回答 0