Интерактивный сюжет обновляется во время скольжения в R - PullRequest
1 голос
/ 19 апреля 2020

Мне нужен интерактивный график с двумя ползунками, и Я хочу, чтобы график плавно обновлялся во время слайда, не отпуская кнопку мыши. Знаете ли вы о каком-либо другом решении в R, которое может сделать что?

Я нашел хорошую библиотеку manipulate (см. пример ниже), но график обновляется только после отпускания кнопки мыши, поэтому мне нужно остановить скольжение, чтобы увидеть обновленный график (что делает процесс не плавным ). Я хочу, чтобы график обновлялся уже во время скольжения.

library(manipulate)
manipulate(curve(amp*sin(freq*x), xlim = c(0,10), ylim =c(-1,1)), amp = slider(0.1,1), freq = slider(0.1,10))

enter image description here

PS: я привык просто основывать графическую библиотеку, поэтому я предпочитаю простой решения, использующие это; но если нет другого пути, ggplot / lattice также хорош: -))

1 Ответ

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

Я ценю, что вы искали ответ в базе R, однако блестящий, как правило, хороший выбор для интерактивных графиков в R.

Следующий код должен достичь желаемого результата (и вам не нужно выпускать кнопка мыши для обновления сюжета):

library(shiny)

ui <- fluidPage(

  # Sidebar with a slider input
  sidebarLayout(
    sidebarPanel(
      sliderInput(
        inputId = "amp",
        label = "Amp:",
        min = 0.1,
        max = 1,
        value = 0.5
      ),
      sliderInput(
        inputId = "freq",
        label = "Freq:",
        min = 0.1,
        max = 10,
        value = 0.5
      )
    ),

    # Show a plot
    mainPanel(
      plotOutput("plot")
    )
  )
)

# Define server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    amp <- input$amp
    freq <- input$freq

    curve(amp * sin(freq * x), xlim = c(0, 10), ylim = c(-1, 1))
  })
}

# Run the application
shinyApp(ui = ui, server = server)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...