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

我使用set_options(width =“auto”,height =“auto”,resizable = FALSE)来自动调整ggvis图表的大小.当图表是列函数中唯一的元素时,它工作正常,但如果我添加其他元素,图表会不断调整大小.

我知道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

最佳答案 根据
documentation

Note that height=”auto” should only be used when the plot is placed within a div that has a fixed height; if not, automatic height will not work, due to the way that web browsers do vertical layout.

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

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')
           )

    )
  )
)
)
点赞