Сюжет не рендеринг с Shiny - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь создать блестящее приложение, которое отображает ggplot, используя встроенный набор данных из библиотеки macheish. Однако, когда я запускаю свой код, я не получаю никаких ошибок, но мой ggplot не отображается. Вот что я вижу:

Нет отображения ggplot

В идеале я бы хотел увидеть что-то подобное

С отображением ggplot

Вот мой код:

ui.r

library(shiny)
shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel(
      selectInput(input = "datasets", label = "Choose a Dataset:",
                   choices = c("whately_2015", "orchard_2015"))),
  mainPanel(
    plotOutput("ggPlot"))
    )
  )
)

server.r

library(shiny)
library(ggplot2)
library(macleish)

shinyServer(function(input, output) {

  datasetInput <- reactive({
    switch(input$datasets,
           "whately_2015" = whately_2015,
           "orchard_2015" = orchard_2015)

    output$ggPlot <- renderPlot({
      p <- ggplot(data = input$datasets, aes(y = temperature, x = when)) + 
        geom_line(color = "darkgray") +
        geom_smooth() +
        xlab("Time") +
        ylab("Temperature (in F)") +
        ggtitle("Weather Data in 2015") +
        theme(plot.title = element_text(hjust = 0.5))
      print(p)

    })
  })
})

Может ли кто-нибудь помочь мне, указав, что не так с моим кодом?

1 Ответ

0 голосов
/ 06 ноября 2018

Вот нужная вам коррекция -

  datasetInput <- reactive({
    switch(input$datasets,
           "whatley_2015" = whately_2015,
           "orchard_2015" = orchard_2015)
  })

    output$ggPlot <- renderPlot({
      p <- ggplot(data = datasetInput(), aes(y = temperature, x = when)) + 
        geom_line(color = "darkgray") +
        geom_smooth() +
        xlab("Time") +
        ylab("Temperature (in F)") +
        ggtitle("Weather Data in 2015") +
        theme(plot.title = element_text(hjust = 0.5))
      print(p)    
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...