Я разрабатываю приложение Shiny, которое имеет два компонента Sankey Diagram и одну кнопку действия, которая вызывает диалоговое окно «SaveMsg» при нажатии кнопки.
Я вижу неожиданное поведение, когда, если я использую кнопку действия и Sankeyvisualization на одной панели инструментов, при нажатии кнопки действия экран панели становится серым.
однако, если я прокомментирую код Sankey и оставлю только кнопку «Действие» в пользовательском интерфейсе, кнопка «Действие» будет работать, как и ожидалось, показывая всплывающее сообщение «сохранить успешно». Если я прокомментирую код кнопки действия и оставлю в пользовательском интерфейсе только код Sankey, я смогу увидеть вывод sankey на панели инструментов.
Код Sankey и кнопка действия работают, как и ожидалось, по отдельности, однако, если я помещу их в одну кнопку действия на панели инструментов, она станет серой за пределами экрана панели инструментов.
Я также прикрепил пример кода-
library(shiny)
library(networkD3)
library(shinydashboard)
value <- c(12,21,41,12,81)
source <- c(4,1,5,2,1)
target <- c(0,0,1,3,3)
edges2 <- data.frame(cbind(value,source,target))
names(edges2) <- c("value","source","target")
indx <- c(0,1,2,3,4,5)
ID <- c('CITY_1','CITY_2','CITY_3','CITY_4','CITY_5','CITY_6')
nodes <-data.frame(cbind(ID,indx))
ui <- dashboardPage(
dashboardHeader(
),
dashboardSidebar(disable = TRUE),
dashboardBody(
fluidPage(
actionLink("savebtn", "Save button")
,sankeyNetworkOutput("simple")
)
)
)
server <- function(input, output,session) {
# Show modal when button is clicked.
observeEvent(input$savebtn, {
showModal(modalDialog(
title = "Save successful"))
})
output$simple <- renderSankeyNetwork({
sankeyNetwork(Links = edges2, Nodes = nodes,
Source = "source", Target = "target",
Value = "value", NodeID = "ID"
,units = "SSN" )
})
}
shinyApp(ui = ui, server = server)