【问题标题】:Shinyapps does not display ggvis graph immediatelyShinyapps 不会立即显示 ggvis 图
【发布时间】:2015-07-04 18:31:45
【问题描述】:

我正在创建一个带有嵌入式 ggvis 图表的降价文档。 将这些图表上传到 ggvis 时,该字段保持空白,直到图表的黑色角落被移动。此时图表开始显示。

如何确保图表从一开始就显示?

以下代码用于生成图表:

train%>% ggvis(~Survived, opacity := 0.8, fill:= "firebrick") %>%
  layer_bars() %>%
  set_options(width =300, height =300) %>%
  add_axis("x", title = "Non-survivors versus Survivors")

图表位于element 2.2

提前谢谢你。

编辑:

根据我在 cmets 中收到的输入,我做了以下调整:

```{r echo = FALSE}
train%>% ggvis(~Survived, opacity := 0.8, fill:= "firebrick") %>%
  layer_bars() %>%
  set_options(width =300, height =300) %>%
  add_axis("x", title = "Non-survivors versus Survivors") %>% 
  bind_shiny("PlotSurvived")
```

```{r echo = FALSE}
ggvisOutput("PlotSurvived")
```

结果是应用程序尝试加载图表两次。一次用于第一个代码块。在这种情况下,问题仍然存在。

第二个代码块加载成功。

另一个问题出现了:

如何创建图表而不在第一组中显示?而使用ggvisOutput("PlotSurvived")来显示呢?

这是最佳做法吗?

亲切的问候

【问题讨论】:

    标签: r ggvis shiny


    【解决方案1】:

    根据 user10853 提供的 cmets 和指南,我设法创建了一个“肮脏”的解决方法。可以在下面找到适用于我的解决方案。

    {r, echo = FALSE, results = "hide"}
    train%>% ggvis(~Survived, opacity := 0.8, fill:= "firebrick") %>%
      layer_bars() %>%
      set_options(width =300, height =300) %>%
      add_axis("x", title = "Non-survivors versus Survivors") %>% 
      bind_shiny("PlotSurvived")
    

    通过设置echo = FALSE R Markdown 将不会在最终文档中显示代码(但它仍会运行代码并显示其结果,除非另有说明)。这是您需要确保在代码中生成绘图并执行 bind_shiny() 元素所需要的。

    通过设置result = FALSER Markdown 将不会显示代码的结果(但它仍会运行代码并显示代码本身,除非另有说明)。

    这意味着echo确保不会显示代码,而result 确保不会显示“损坏的”图表。

    我跟进这段代码以生成工作图。

    ```{r echo = FALSE}
    ggvisOutput("PlotSurvived")
    ```
    

    【讨论】:

      【解决方案2】:

      它显示得很好。我刚在手机里看过。也许是你的浏览器?

      更新:我刚刚在 Chrome 中检查了它,它与您的报告一样。尝试手动设置图表的尺寸。

      【讨论】:

      • 您好,感谢您的检查。 “手动设置图表的尺寸”到底是什么意思?我将使用其中一个间隙的代码更新问题。 Firefox 处理一切都很好。 Chrome 和 Safari 显然有问题。
      • 我的意思是设置高度和宽度。我猜你让它自动设置它们。我只是假设这可能会解决问题。
      • 嗨,我通过添加用于生成图表的代码 sn-p 来更新最初的问题。如您所见,高度和宽度已经指定。问题仍然存在。
      • 我认为您需要将 plot 命令分配给一个变量。只需在“train”之前添加一个变量并将其分配给它。然后将该 var 用作 ggvisOutput(" var") 的参数。
      • 实际上,我在您回答的同时创建了该答案。你可以在上面找到我的解决方案。我很确定这是一个肮脏的解决方法。但目前它是唯一有效的......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      相关资源
      最近更新 更多