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

Grafiğine renk ekle: renk girişi

colourpicker paketi, colourInput() fonksiyonu aracılığıyla kullanılabilen bir renk girişi sağlar. Renk girişleri shiny paketinin parçası olmasa da, diğer tüm girişlerle aynı şekilde davranır.

Bir renk girişi, keşfedebileceğin birçok farklı argümana sahip olabilir, ancak biz sadece temel argümanları kullanacağız: inputId, label ve value. value argümanı, başlangıç değeri olarak kullanılacak bir rengi kabul eder. Renkler birkaç farklı formatta belirtilebilir, ancak en kolayı "red" veya "yellow" gibi İngilizce renk adlarını kullanmaktır.

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ı

Bir önceki egzersizdeki Shiny uygulamasının kodu verildi. Görevin, rengi seçmek için kullanılan radyo düğmelerini bir renk girişiyle değiştirmek. Özellikle:

  • colourpicker paketini yükle.
  • Kullanıcı arayüzünde rengi seçmek için radyo düğmelerini oluşturan UI fonksiyonunu bul ve bunu bir renk girişiyle değiştir (satır 12).
  • Renk girişinin kimliği "color", etiketi "Point color" ve varsayılan rengi "blue" olmalı.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Load the colourpicker package
___

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),

      # Replace the radio buttons with a color input
      radioButtons("color", "Point color",
                   choices = c("blue", "red", "green", "black")),
      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(
      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