2016-07-30 3 views
0

Мне нужно подготовить блестящее приложение для школьного проекта. Это звено, что он должен выглядеть какcheckbox не выбран в блестящем приложении

https://yuvaln.shinyapps.io/olympics/

Если вы посмотрите на приложение, которое вы видите есть флажок с именем medals.When вы открыть приложение все они выбраны, но в событие, которое пользователь решает снять с них все, должна быть небольшая ошибка, и график не должен быть нарисован.

У меня возникли проблемы с получением на это, когда я снимите все флажки в моем приложении рисует пустой рисунок

Это важная часть коды:

fluidRow(
    column(3,checkboxGroupInput("Medals", label = strong("Medals"), 
    choices = list("Total" = "TOTAL", "Gold" = 'GOLD', 
    "Silver" = 'SILVER','Bronze'='BRONZE'), 
    selected = c('TOTAL','GOLD','SILVER','BRONZE')))), 

    fluidRow(
    mainPanel(plotOutput('coolplot'),width = '40%')) 
)  
) 
    server <- function(input, output){output$coolplot<-renderPlot(plot.medals2(input$country, 
    input$Startingyear,input$Endingyear,input$Medals))} 
    shinyApp(ui = ui, server = server) 

Я использую функция plot.medals2, которая получает вектор медалей, год начала, год окончания, страну и возвращает рисунок графика.

+0

Возможно, добавление 'plot.medals2' поможет. Кроме того, что вы подразумеваете под пустым рисунком? Вы видите оси, но нет линий или просто пустое пространство? – Dambo

+0

Я не вижу ось только пустое серое пространство с заголовком участка – idf4floor

+0

Я считаю, что добавление 'plot.medals2' поможет. – Dambo

ответ

0

Поскольку вы не опубликовали полный код, я воссоздал пример с использованием набора данных Iris. Я думаю, код ниже отвечает на ваш вопрос ...

library(shiny) 
library(ggplot2) 
library(dplyr) 

ui <- shinyUI(fluidPage(

    # Application title 
    titlePanel("Checkbox example"), 
    fluidRow(
      column(3,checkboxGroupInput("example", label = strong("Species"), 
             choices = levels(iris$Species), 
             selected = levels(iris$Species)))), 
    fluidRow(
      mainPanel(plotOutput('coolplot'),width = '40%')) 


)) 



server <- shinyServer(function(input, output) { 

    irisSubset <- reactive({ 
      validate(
        need(input$example != "", 'Please choose at least one feature.') 
      ) 
      filter(iris, Species %in% input$example) 
    }) 

    output$coolplot<-renderPlot({ 
      gg <- ggplot(irisSubset(), aes(x = Species, y = Sepal.Length)) 
      gg <- gg + geom_boxplot() 
      print(gg) 
    }) 

}) 

# Run the application 
shinyApp(ui = ui, server = server) 
Смежные вопросы