include HTML конфликтует с renderPlotly - PullRequest
0 голосов
/ 05 мая 2020
• 1000 Он использует navbarpage () для отображения домашней страницы (где я объясняю логическое обоснование) и страницы моделирования (где фактически отображается приложение).

Чтобы создать домашнюю страницу, я создал файл .Rmd и связал его с html. К сожалению, похоже, что includeHTML() и renderPlotly() имеют какой-то конфликт javascript и поэтому plotly не будет отображаться. К сожалению, я почти ничего не знаю о HTML или javascript.

Простая (почти репрезентативная) версия:

# Define UI for application that draws a histogram
ui <- fluidPage(
  navbarPage("RCV", position = "fixed-top", collapsible = TRUE,
    tabPanel("Home",
             includeHTML("www/yourFav.html")),
    tabPanel("Simulation",
             plotlyOutput("plot")
  )

)

# Define server logic required to draw a histogram
server <- function(input, output, session){

  output$plot <- renderPlotly({
    plot_ly(data = cars,
            x = ~mgp,
            y = ~wt)
  })

}

Любые ваши предложения будут хорошо приняты!

С уважением, Бреннан

1 Ответ

1 голос
/ 05 мая 2020

includeHTML предназначен для использования для фрагментов HTML. Используйте iframe для полной страницы HTML. Файл HTML должен находиться во вложенной папке www*1004*, и вы должны передать его в аргумент src для tags$iframe без префикса www/.

library(shiny)
library(plotly)

ui <- fluidPage(
  navbarPage("RCV", position = "fixed-top", collapsible = TRUE,
             tabPanel("Home",
                      tags$iframe(src = "rcv_homePage.html", 
                                  width = "600", height = "500", 
                                  style = "margin-top: 70px;")),
             tabPanel("Simulation",
                      plotlyOutput("plot")
             )

  )
)

server <- function(input, output, session){

  output$plot <- renderPlotly({
    plot_ly(data = cars,
            x = ~mgp,
            y = ~wt)
  })

}

shinyApp(ui, server)
...