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

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

kursunun bir parçasıdır
Kursu Görüntüle

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ı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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