Shiny Gridster动态调整边距大小

时间:2016-05-11 23:50:25

标签: r shiny gridster

我正在使用'附加软件包将Gridster库与Shiny',(https://github.com/wch/shiny-gridster)一起使用,可以使用以下代码下载:

devtools::install_github("wch/shiny-gridster")

但我希望gridster项目的大小能够随侧边栏中的滑块而变化。

非常感谢任何帮助。

我还有一个问题是如何调整gridsterItems的css,使它们具有不同的背景,例如:蓝色背景。

我的ui.Rserver.R可以在下面看到,但是gridster项目的大小似乎与滑块一致。

首先是我的ui.R文件

# ui.R
library(shinyGridster)
library(shinydashboard)

dashboardPage(
  dashboardHeader(),
  dashboardSidebar(
    sliderInput("n1", "gridster_box_size:", min = 50, max = 500, value = 300)
  ),
  dashboardBody(
    uiOutput('gg')
)
)

和我的server.R文件

# sever.R
library(shinyGridster)

shinyServer(function(input, output, session) {
  output$myPlot <- renderPlot({plot(1:5)})
  output$myText <- renderText(({'hello test text'}))
  output$gg <- renderUI({

      gridster(width = input$n1, height = input$n1, 
               gridsterItem(col = 1, row = 1, sizex = 1, sizey = 1,
                            sliderInput("n", "Input value:", min = 0, max = 50, value = 10)
               ),
               gridsterItem(col = 2, row = 1, sizex = 1, sizey = 1,
                            textOutput("myText")
               ),
               gridsterItem(col = 1, row = 2, sizex = 2, sizey = 1,
                            plotOutput("myPlot", height = 200)
               )
      )


  })

}
)

gridster的工作版本如下所示ui.R

# ui.R
library(shinyGridster)
library(shinydashboard)

dashboardPage(
  dashboardHeader(),
  dashboardSidebar(
    sliderInput("n1", "gridster_box_size:", min = 50, max = 500, value = 300)
  ),
  dashboardBody(
    gridster(width = 300, height = 300, 
             gridsterItem(col = 1, row = 1, sizex = 1, sizey = 1,
                          sliderInput("n", "Input value:", min = 0, max = 50, value = 10)
             ),
             gridsterItem(col = 2, row = 1, sizex = 1, sizey = 1,
                          textOutput("myText")
             ),
             gridsterItem(col = 1, row = 2, sizex = 2, sizey = 1,
                          plotOutput("myPlot", height = 200)
             )
    )
)
)

及其补充server.R

# sever.R
library(shinyGridster)

shinyServer(function(input, output, session) {
  output$myPlot <- renderPlot({plot(1:5)})
  output$myText <- renderText(({'hello test text'}))

}
)

0 个答案:

没有答案