CommencerCommencer gratuitement

Agrandir votre graphique

Tout comme les fonctions d’entrée ont des arguments différents selon le type d’entrée, les fonctions d’espace réservé de sortie disposent elles aussi d’arguments pour modifier leur apparence ou leur comportement.

Par exemple, lorsque vous affichez un graphique dans une application Shiny avec plotOutput(), la hauteur du graphique est par défaut de 400 pixels. La fonction plotOutput() propose des paramètres pour modifier la hauteur ou la largeur d’un graphique.

Cet exercice fait partie du cours

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

Afficher le cours

Instructions

Le code de l’application Shiny de l’exercice précédent est fourni. Votre objectif est d’agrandir le graphique. Plus précisément :

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

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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