Kom igångKom igång gratis

Lägg till en plottitel: textinmatning

I Shiny görs det aktuella värdet av en inmatning omedelbart tillgängligt i servern via argumentet input i serverfunktionen, så fort användaren ändrar något värde. Du kan hämta värdet för valfri inmatning med input$<inputId>.

För att tilldela ett standardvärde till en textinmatning används argumentet value.

Den här övningen är en del av kursen

Fallstudier: Bygg webbapplikationer med Shiny i R

Visa kurs

Övningsinstruktioner

Den befintliga Shiny-appen plottar BNP per capita mot förväntad livslängd för länder i gapminder-datamängden. Din uppgift är att lägga till en textinmatning som låter användaren ändra plottens titel. Mer specifikt:

  • Lägg till en textinmatning i UI:t med ID "title", etiketten "Title" och standardvärdet "GDP vs life exp".
  • Se till att plottens titel alltid speglar det aktuella värdet från textinmatningen, genom att placera titeln inuti funktionen ggtitle() (rad 24).

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Load the ggplot2 package for plotting
library(ggplot2)

# Define UI for the application
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      # Add a title text input
      ___(___, ___, ___)
    ),
    mainPanel(
      plotOutput("plot")
    )
  )
)

# Define the server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    ggplot(gapminder, aes(gdpPercap, lifeExp)) +
      geom_point() +
      scale_x_log10() +
      # Use the input value as the plot's title
      ggtitle(___)
  })
}

# Run the application
shinyApp(ui = ui, server = server)
Redigera och kör kod