svglite, svgPanZoom не может построить график в R блестящим

Согласно сообщению Как отобразить точечную диаграмму с пакетами R:svgPanZoom?Я попытался воспроизвести масштабируемый сюжет в R Shiny. Может ли кто-нибудь помочь мне с моим кодом? Почему я не могу воспроизвести этот код?

      library(shiny)
library(svglite)
library(svgPanZoom)


# Define UI ----
ui <- shinyUI(bootstrapPage(
    # App title ----
  headerPanel("Cyl vtree"),
  
    
 # Main panel for displaying outputs ----
  svgPanZoom(
    svglite:::inlineSVG(
      show(p)
    ),
    controlIconsEnabled = T
  )
  
))

# Define server logic to plot ----
server <- function(input, output) {
  output$main_plot <- renderSvgPanZoom({
    p <- ggplot(mtcars, aes(x = cyl, y = mpg)) + geom_point()
    svgPanZoom(p, controlIconsEnabled = T)
  })
}

shinyApp(ui, server)

1 ответ

  1. svgPanZoomOutputотсутствует в вашем пользовательском интерфейсе для привязки svgpanzoom к блестящему
  2. Вы использовали svgPanZoomв пользовательском интерфейсе, который принадлежит только renderSvgPanZoomна сервере
  3. Это работает в любом случае - используя это решение или просто базовый пример из ?svgPanZoom
      library(shiny)
library(svglite)
library(svgPanZoom)
library(ggplot2)
library(gridSVG)

# Define UI ----
ui <- shinyUI(bootstrapPage(
  # App title ----
  headerPanel("Cyl vtree"),
  
  
  # Main panel for displaying outputs ----
  svgPanZoomOutput(outputId = "main_plot")
  
  
))

# Define server logic to plot ----
server <- function(input, output) {
  output$main_plot <- renderSvgPanZoom({
    p <- ggplot(mtcars, aes(x = cyl, y = mpg)) + geom_point()

    svgPanZoom(p, controlIconsEnabled = T)
  })
}

shinyApp(ui, server)
Другие вопросы по тегам