Я надеюсь автоматически спрятать график с использованием glossjs () без использования actionButton.Это возможно?
Это мой код в ui.R:
tabPanel(title = "Plot", useShinyjs(),
sidebarPanel(width = 4,
h2("Plotting"),
radioButtons(inputId = "type",
label = "Type of Plot:",
choices = c("Scatter Plot",
"Pie Chart", "Bar Chart"),
selected = "Scatter Plot"),
),
mainPanel(width = 8,
br(), br(),
div(id='showplot', plotlyOutput(outputId = "plot")),
div(id='showplot2', plotOutput(outputId = "plot2")),
br(),
h5(textOutput("description"))
)
)
Это мой код на сервере. R:
output$plot <- renderPlotly({
if (input$type == "Scatter Plot") {
show("showplot")
} else {
hide("showplot")
}
ggplotly({
p <- ggplot(data = variable_source(), aes_string(x = input$x, y = input$y)) +
geom_point(size = input$size, col = input$color) +
labs(x = x(),
y = y(),
color = toTitleCase(str_replace_all(input$z, "_", " ")),
title = toTitleCase(input$plot_title)
if (input$fit == TRUE) {
p <- p + geom_smooth(method = "lm")
}
p
})
})
output$plot2 <- renderPlot({
if (input$type == "Pie Chart") {
show("showplot2")
} else {
hide("showplot2")
}
ggplot(shortlistpied(), aes_string(x = factor(1), y = "Percentage", fill = input$y)) +
geom_bar(stat = "identity", width = 1) +
geom_text(aes(x = factor(1), y = label_pos, label = perc_text), size = 4) +
scale_fill_distiller(palette = "Oranges") +
coord_polar("y") +
facet_wrap( ~get(input$x)) +
theme_void()
})
РЕДАКТИРОВАТЬ: Это то, что я вижусначала, когда я запускаю приложение: scatter plot original , и это все хорошо.Но когда я нажимаю на круговую диаграмму, я вижу следующее: круговая диаграмма исчезает .Диаграммы исчезают, когда они должны быть там, как это: круговая диаграмма оригинал .Кроме того, когда я возвращаюсь к щелчку на графике рассеяния, он тоже исчезает так: график рассеяния исчезает .Можно ли это решить?
По сути, я пытаюсь, чтобы основная панель показывала график рассеяния, когда пользователь нажимает на график рассеяния, и круговую диаграмму, когда пользователь нажимает на круговую диаграмму.Я пытался использовать NULL, но со ссылкой на этот пост - R Shiny: Как не отображать график при NULL , это создает неудобное пустое пространство, и я надеюсь, что смогу избежать этого.
Большое спасибо заранее!