如何设置嵌入闪亮应用程序中的ggvis图表的最大尺寸?

时间:2016-07-07 15:35:45

标签: r shiny ggvis

我正在使用set_options(width = "auto", height = "auto", resizable=FALSE)来自动调整ggvis图表的大小。当图表是column函数中唯一的元素时,它工作正常,但如果我添加其他元素,图表会不断调整大小。 我知道html有一个max-height属性可能会阻止这种行为,但ggivs中没有这个属性。

以下是我的例子:

ui.R

library(shiny)
library(ggvis)
shinyUI(fluidPage(

  fluidRow(titlePanel("Old Faithful Geyser Data")),

    fluidRow(
          column(12,
                 tags$h1("hello"),
                 ggvisOutput('test1')
                 )
    )
   )
  )

server.R

library(shiny)
library(ggvis)
shinyServer(function(input, output) {

  cars %>% 
  ggvis(~speed) %>% 
    layer_bars() %>% 
    set_options(width="auto", height= "auto", resizable=FALSE) %>% 
  bind_shiny("test1", "test1_ui")
})

我正在使用firefox 47.0

1 个答案:

答案 0 :(得分:1)

根据documentation

  

请注意,height =" auto"只应在将绘图放置在具有固定高度的div中时使用;如果没有,由于Web浏览器进行垂直布局的方式,自动高度将无法工作。

我们可以通过修改ui.R,为包含div图的ggvis设置固定高度来实现此目的。例如:

shinyUI(fluidPage(

  fluidRow(titlePanel("Old Faithful Geyser Data")),

  fluidRow(
    column(12,
           tags$h1("hello"),
           div(style='height:400px;', # We define a fixed height of 400px
           ggvisOutput('test1')
           )

    )
  )
)
)