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 ответ
-
svgPanZoomOutput
отсутствует в вашем пользовательском интерфейсе для привязки svgpanzoom к блестящему - Вы использовали
svgPanZoom
в пользовательском интерфейсе, который принадлежит толькоrenderSvgPanZoom
на сервере - Это работает в любом случае - используя это решение или просто базовый пример из
?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)