包括降价时的闪亮主面板宽度

时间:2016-10-16 19:09:49

标签: r shiny r-markdown

我试图加入"反应性"闪亮应用程序中的.Rmd文件。它将总结用户的选择和出现的各种条件。无论出于何种原因,我发现在 shiny documented中包含.Rmd ,但不包括编织.Rmd并将输出包含在shiny app。

我发现这些很难重现,所以我尝试使用Rstudio中的hello world示例。以下是铬中的应用程序:

full-size

接下来,我向uiOutput添加ui.R元素:

# Show a plot of the generated distribution
mainPanel(
  plotOutput("distPlot"),
  uiOutput("mark")
)

我还在server.R中添加了相应的输出,取自这种类似的question

output$mark <- renderUI({

  HTML(markdown::markdownToHTML(knit("./test.Rmd", quiet = TRUE)))

})

test.Rmd的内容是:

## something to print

```{r}

head(mtcars, input$bins)

```

当我运行它时,我现在得到这个(截图足迹是相同的):

cramped

我假设编织文档中有一些css或某些东西搞砸了,但我不知道。我可以强制宽度更宽,但主面板保持中心位置。

我已尝试includeMarkdown,但无法根据input进行更新。请记住,最终的希望 - 我需要能够根据更改的input值重新生成任何内容的内容。我意识到我可以做renderText或其他什么,但Rmarkdown格式非常方便,因为这是一种指导。我可以写一些文档,然后向用户显示他们选择了什么以及结果会发生什么。

看起来很接近......我只是无法弄清楚为什么页面会变得不稳定。

我还尝试了style = "width: 1200px"style = "width: 100%"这样的内容,却无法让sidebarPanelmainPanel之间的比例恢复正常。

理想情况下,输出看起来就像原始输出一样,但编织结果会显示在图表的当前足迹下。

2 个答案:

答案 0 :(得分:2)

似乎rmd代码将以下属性添加到body元素:

max-width: 800px;

要删除此内容,请将以下内容添加到您的ui代码中(例如,在sliderInput下方)

     tags$head(tags$style(HTML("
                               body {
                                  width: 100% !important;
                                  max-width: 100% !important;
                               }

                               ")))

答案 1 :(得分:1)

fragment.only=TRUE中设置markdownToHTML

output$mark <- renderUI({

  HTML(markdown::markdownToHTML(knit("./test.Rmd", quiet = TRUE), fragment.only=TRUE))

})