r блестящий парящий с многопанельными участками - PullRequest
0 голосов
/ 08 января 2019

Привет, у меня есть блестящее приложение, которое помогает пользователю визуализировать электрофореграммы (в основном, спектры), полученные от автоматических секвенаторов ДНК. Мне бы хотелось, чтобы пользователь мог парить над пиком и узнавать, когда пик сходит с инструмента. Я также хотел бы иметь возможность сравнивать несколько электроферограмм, нанося спектр один на другой.

Если я нанесу один спектр, я смогу восстановить x-положение мыши с помощью опции 'hover', предоставленной plotOutput () в пользовательском интерфейсе. Если я составлю графики с использованием базовой графики и соотношения (mfrow = c (n, 1)), где n - количество спектров, результаты будут непредсказуемыми. В основном, положение x можно восстановить в части области графика, но не во всем.

В качестве последней информации, я написал это приложение несколько лет назад, и оно работало, как и ожидалось, пока я не обновил R и блестящий пакет до довольно недавних версий: (R 3.4.4; блестящий 1.2.0).

Я включил файл app.R, который воспроизводит эту проблему в простом случае с использованием гистограмм и старых верных данных и показывает подход, который я использовал. Я получаю то же самое поведение, независимо от того, установил ли я «clip» в hoverOpts значение TRUE или FALSE.

Спасибо за любую помощь Allan

library(shiny)

ui = fluidPage(

titlePanel("Mulitpanel hover: Old Faithful Geyser Data"),

sidebarLayout(
  sidebarPanel(
     sliderInput("bins","Number of bins:",min = 1,max = 50,value = 30)
  ),

  mainPanel(
     textOutput("xpos"),
     plotOutput("distPlot",hover=hoverOpts(id="plot_hover",clip=TRUE))
      )
   )
 )

 server = function(input, output) {
   output$xpos = renderText({paste("x coord:",input$plot_hover$x)})
   output$distPlot = renderPlot({
   x    = faithful[, 2] 
   bins = seq(min(x), max(x), length.out = input$bins + 1)

   par(mfrow=c(2,1))
   hist(x, breaks = bins, col = 'darkgray', border = 'white')
   hist(x, breaks = bins, col = 'orange', border = 'white')
  })
 }
 shinyApp(ui = ui, server = server)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...