Не размещайте все в выходном блоке Shiny - PullRequest
0 голосов
/ 26 апреля 2019

У меня возникли проблемы с plotOutput, который зависит от двух разных входов.Мне нужно найти способ изменить часть блока графика, которая зависит от второго ввода, без повторного построения всего.

Мой блок графика выглядит примерно так:

output$some_output<-renderPlot({
    im<-load.image(input$a)
    plot(im)
    if(input$b == something){
        points(1,2) //or anything over that image plot
    }
})

Чтомне нужно, это как-то не перепланировать изображение при изменении ввода $ b.Я начал не так давно с Shiny, так что я до сих пор не понимаю всех его реактивных функций.Любая идея приветствуется.

1 Ответ

0 голосов
/ 26 апреля 2019

Используйте isolate(), это удалит реактивность из input$b и обновит график только при изменении input$a. Список литературы можно найти здесь https://shiny.rstudio.com/articles/isolation.html

output$some_output<-renderPlot({
    im<-load.image(input$a)
    plot(im)
    if(isolate(input$b) == something){
        points(1,2) //or anything over that image plot
    }
})

В будущем хорошей идеей будет привести целый рабочий пример, чтобы люди могли проверить, чтобы убедиться, что решение работает.

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