BaşlayınÜcretsiz başlayın

Grafiğini daha büyük yapma

Nasıl ki girdi işlevlerinin türüne göre farklı argümanları olabiliyorsa, çıktı yer tutucu işlevlerinin de görünümlerini veya davranışlarını değiştirmek için farklı argümanları olabilir.

Örneğin, bir Shiny uygulamasında plotOutput() ile bir grafik görüntülerken, grafiğin varsayılan yüksekliği 400 piksel olur. plotOutput() işlevinde grafiğin yüksekliğini veya genişliğini değiştirmek için kullanılabilecek bazı parametreler bulunur.

Bu egzersiz, kursun bir parçasıdır

Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

Kursa Göz Atın

Egzersiz talimatları

Önceki egzersizdeki Shiny uygulamasının kodu verildi. Görevin, grafiği büyütmek. Özellikle:

  • 600 piksel yüksekliğinde ve 600 piksel genişliğinde olmalı. Hangi parametreleri kullanacağını öğrenmek için plotOutput() belgelerine bakabilirsin (satır 18).

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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)
Kodu Düzenle ve Çalıştır