有没有办法消除rmarkdown中闪亮输出上的y滚动条?

时间:2017-04-14 03:23:07

标签: html r shiny knitr r-markdown

我使用闪亮的应用程序在rmarkdown中有一个交互式文档。

我的YAML:

---
title: "Shiny HTML Doc"
author: "theforestecologist"
date: "Apr 13, 2017"
output:  html_document
runtime: shiny
---

我在本文档中生成了许多闪亮的应用程序,但它们都太长了(即,它们都需要y滚动条来查看它们的全部内容。

我知道我可以在我的代码块中的shinyApp函数中添加options = list(height = ###,width = ###)来控制单个呈现的应用程序,但我希望我的读者能够看到我的闪亮代码(sans)凌乱的选项控制)。

所以我想要的方法是立即控制所有闪亮的应用输出。

  • 具体来说,有没有一种方法可以让它们各自具有可变的高度,但每个都可以完全成像(即不需要垂直(y)卷轴)?

示例代码:

---
title: "Shiny HTML Doc"
author: "theforestecologist"
date: "Apr 13, 2017"
output:  html_document
runtime: shiny
---

I have an interactive shiny doc with app outputs of varying heights. 
By default, they all have the same height, which is too small of a value
(and thus creates the need for vertical scrolling bars).

##### **Example 1**

```{r, eval=TRUE,echo=FALSE}
library(shiny)
ui <- fluidPage(  
  titlePanel("Ex1"),
  sidebarLayout(
    sidebarPanel(
      checkboxGroupInput(inputId = "type", label = "Plant Type", choices = levels(CO2$Type), 
                         selected = levels(CO2$Type))  
    ),
    mainPanel(
      plotOutput(outputId = "scatter.plot")  
    )
  )
)

server <- function(input, output) {

  output$scatter.plot <- renderPlot({
    plot(uptake ~ conc, data = CO2, type = "n")
    points(uptake ~ conc, data = CO2[CO2$Type  %in% c(input$type),])
    title(main = "Plant Trends")
    })
}

shinyApp(ui = ui, server = server)
```

The output of the next example is longer and therefore needs a larger height assignment to get rid of the scroll bar. 

##### **Example 2**

```{r, eval=TRUE,echo=FALSE}
ui <- fluidPage(  
  titlePanel("Ex1"),
  sidebarLayout(
    sidebarPanel(
      div(style = "padding:0px 0px 450px 0px;",
          checkboxGroupInput(inputId = "type", label = "Plant Type", choices = levels(CO2$Type), 
                             selected = levels(CO2$Type))
      )  
    ),
    mainPanel(
      plotOutput(outputId = "scatter.plot")  
    )
  )
)

server <- function(input, output) {

  output$scatter.plot <- renderPlot({
    plot(uptake ~ conc, data = CO2, type = "n")
    points(uptake ~ conc, data = CO2[CO2$Type  %in% c(input$type),])
    title(main = "Plant Trends")
    })
}

shinyApp(ui = ui, server = server)
```

0 个答案:

没有答案