CommencezCommencez gratuitement

Agrandir votre graphique

Tout comme les fonctions d'entrée peuvent avoir différents arguments selon le type d'entrée, les fonctions d'espace réservé pour la sortie peuvent aussi avoir différents arguments pour modifier leur apparence ou leur comportement.

Par exemple, lorsque vous affichez un graphique dans une application Shiny à l'aide de plotOutput(), la hauteur du graphique est de 400 pixels par défaut. La fonction plotOutput() comprend des paramètres qui permettent de modifier la hauteur ou la largeur d'un graphique.

Cette activité fait partie du cours

Études de cas : créer des applications Web avec Shiny en R

Voir le cours

Instructions de l’exercice

Le code de l'application Shiny du dernier exercice est fourni. Votre tâche consiste à rendre le graphique plus grand. Plus précisément :

  • 600 pixels de haut et 600 pixels de large. Vous pouvez consulter la documentation de plotOutput() pour trouver quels paramètres utiliser (ligne 18).

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      textInput("title", "Title", "GDP vs life exp"),
      numericInput("size", "Point size", 1, 1),
      checkboxInput("fit", "Add line of best fit", FALSE),
      colourInput("color", "Point color", value = "blue"),
      selectInput("continents", "Continents",
                  choices = levels(gapminder$continent),
                  multiple = TRUE,
                  selected = "Europe"),
      sliderInput("years", "Years",
                  min(gapminder$year), max(gapminder$year),
                  value = c(1977, 2002))
    ),
    mainPanel(
      # Make the plot 600 pixels wide and 600 pixels tall
      plotOutput("plot", ___, ___)
    )
  )
)

# Define the server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    data <- subset(gapminder,
                   continent %in% input$continents &
                     year >= input$years[1] & year <= input$years[2])
    
    p <- ggplot(data, aes(gdpPercap, lifeExp)) +
      geom_point(size = input$size, col = input$color) +
      scale_x_log10() +
      ggtitle(input$title)
    
    if (input$fit) {
      p <- p + geom_smooth(method = "lm")
    }
    p
  })
}

shinyApp(ui = ui, server = server)
Modifier et exécuter le code