Как динамически обновить диапазон оси X гистограммы с помощью ползунков в Shiny в R - PullRequest
1 голос
/ 03 апреля 2020

Я видел примеры того, как пользователь использует sliderInput для регулировки количества бинов гистограммы.

Но мой вопрос заключается в том, как я могу использовать sliderInput для регулировки диапазона оси x вместо числа Бункеры? Какой код я должен включить?

Кто-нибудь может мне помочь? Надеюсь, мой вопрос не такой уж тревожный ...

Большое спасибо.

1 Ответ

1 голос
/ 04 апреля 2020

Вот рабочая демонстрация, основанная на доступном наборе данных faithful. Я добавил sliderInput для настройки диапазона оси X. hist включает xlim для определения диапазона оси X. Обратите внимание, что первое значение является нижним пределом, а второе значение является верхним пределом.

library(shiny)

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      sliderInput("bins",
                  "Number of bins:",
                  min = 1,
                  max = 50,
                  value = 30),
      sliderInput("x_range", "Range:",
                  min = 0, max = 100, value = c(0, 100), step = 10)
    ),
    mainPanel(
      plotOutput("distPlot")
    )
  )
)

server <- function(input, output, session) {
  output$distPlot <- renderPlot({
    x    <- faithful[, 2]  # Old Faithful Geyser data
    bins <- seq(min(x), max(x), length.out = input$bins + 1)
    hist(x, breaks = bins, xlim = c(input$x_range[1], input$x_range[2]), col = 'darkgray', border = 'white')
  })
}

shinyApp(ui, server)
...