首页 > 解决方案 > R Shiny plot_ly 更新直方图类型

问题描述

我想我有一个非常基本的问题,但我在 Google 上也找不到任何类似的问题,因此我想问。我有一个 R Shiny 应用程序,我根据从数据库接收到的一些数据创建直方图。为简单起见,这是我必须创建直方图的代码:

fig <- plot_ly(x = as.character(mtcars$gear),
                   type = "histogram",
                   histnorm = "percent",
                   alpha = 0.8) %>%
           layout(title = "Distrib")

用户可以动态地将直方图类型从“百分比”更改为“”(意思是正常计数)。我现在如何更新“无花果”对象,而无需再次查询数据库并从头开始构建新图?我在想也许有类似的东西

fig %>% update(histnorm ='')

但情况似乎并非如此。谢谢。

标签: rshinyplotlyhistogram

解决方案


histnorm从图的定义中删除字段:

fig <- plot_ly(x = as.character(mtcars$gear),
                   type = "histogram",
                   alpha = 0.8) 

然后,您可以即时指定fig <- fig %>% layout(histnorm = "percent")用户何时选择“百分比”类型。当用户选择“正常计数”时,您只需调用fig(因为默认为histnorm“正常计数”)。


推荐阅读