如何将ggvis图表限制在他们的shinydashboard框和列中?

时间:2015-07-27 20:27:11

标签: shiny ggvis shinydashboard

我没有发现任何与我的问题和关键字相符的内容。我无法将ggvis图表限制在他们给定的shinydashboard区域。示例应用程序(Windows 7)显示三个ggvis图,每个图都超过了各自仪表板框和列的右边框 - 除非窗口非常宽..

思想?

library(shiny)
library(shinydashboard)
library(ggvis)

ui <- dashboardPage(
  dashboardHeader(title = "Basic dashboard"),
  dashboardSidebar(),
  dashboardBody(
    # Boxes need to be put in a row (or column)
    fluidRow(
      box(
          width = 4,
          title = "fred",
          ggvisOutput("plot1")
      ),

      box(
        width = 4,
        title = "george",
        ggvisOutput("plot2")
      ),

      box(
        width = 4,
        title = "harold",
        ggvisOutput("plot3")
      )
    )
  )
)

server <- function(input, output) {
  mtcars %>%
    ggvis(~wt, ~mpg) %>%
    layer_points() %>%
    bind_shiny("plot1")

  mtcars %>%
    ggvis(~cyl, ~mpg) %>%
    layer_points() %>%
    bind_shiny("plot2")

  mtcars %>%
    ggvis(~disp, ~mpg) %>%
    layer_points() %>%
    bind_shiny("plot3")
}

shinyApp(ui, server)

1 个答案:

答案 0 :(得分:5)

您需要设置宽度和高度为自动的选项。你可以这样做:

mtcars %>%
    ggvis(~wt, ~mpg) %>%
    layer_points() %>%
    set_options(width = "auto", height = "auto") %>%
    bind_shiny("plot1")