如何在Rshiny主面板上显示ggplot2

时间:2019-04-25 17:28:51

标签: r ggplot2 shiny

在RShiny主面板中ggplot2对象无法正确显示。为了娱乐,下面的代码使用虹膜数据集。需要帮助

我检查了链接-RShiny ggplot2 not showing,但这没有帮助。我还浏览了https://shiny.rstudio.com/网站,但没有任何示例说明如何显示ggplot2对象。我使用了renderPlot和renderImage函数,但是没有一个提供所需的结果。

'''

library(shiny)
library(shinydashboard)

ui <- fluidPage(titlePanel("Sample Shiny"),
  navbarPage(
    br(),
    tabPanel(h4("Iris Data"),
             sidebarPanel(
               radioButtons("var1", 
                            label = "Choose a FILL field",
                            choices = c("Species"),
                            selected = "Species"),

      mainPanel(plotOutput("plot",click = "plot_click")))
    )
  ))


server <- function(input, output) {

  output$plot <- renderPlot(
    {
      #browser()
      sw <- input$var1
      ### "a" below is iris dataset which I pass on as input**
      ggplot(data = a) +
           aes(x = Sepal.Length, fill = sw) +
           geom_bar() +
           theme_minimal() +
           coord_flip()
    },width = "auto",height = "auto",res = 72)
}

# Run app ----
shinyApp(ui, server)

'''

我希望在主面板中间看到该图,但是我看到的只是一个没有适当边距的小图。

预期:(类似RShiny的内容) enter image description here

这是我现在看到的: enter image description here

1 个答案:

答案 0 :(得分:0)

input$var1是字符串 => 使用aes_string

  ggplot(data = a) +
    aes_string(x = "Sepal.Length", fill = sw) + ......