VisNetworkでネットワークを構築し、それをShinyに配備しました。私の質問は次のとおりです。ノードをクリックすると、n番目の次数に近い最近隣をハイライト表示します(デフォルト= 1)。ノードとそのネイバーだけでサブネットワークを描画し、そのノードをクリックしてネットワーク全体に戻ることは可能ですか?VisNetworkでノードを選択した後のサブネットワーク/サブグラフをプロットする
だから以下のコードで、私はネットワークを作成し、最近傍の選択を可能にし、私はノードを選択することができ、
、ありがとうございました。サブネットワークのみを再描画する方法がわかりません。
server <- function(input, output) {
output$network_proxy <- renderVisNetwork({
visNetwork(my.nodes, my.edges,
height = "100%", width = "100%",
main = "") %>%
#visExport() %>%
visOptions(highlightNearest = list(enabled = T, degree = 1, hover = T, algorithm = "hierarchical"),
nodesIdSelection = list(enabled = TRUE, selected = "First Data", style = 'width: 200px; height: 26px;
background: #f8f8f8;
color: darkblue;
border:none;
outline:none;'),
selectedBy = list(variable = "Role", selected ="",
multiple =TRUE, style = 'width: 200px; height: 26px;
background: #f8f8f8;
color: darkblue;
border:none;
outline:none;'),
autoResize = TRUE)%>%
visInteraction(keyboard = TRUE,
navigationButtons = TRUE,
dragView = TRUE,
dragNodes = TRUE,
hideEdgesOnDrag = TRUE,
tooltipDelay = 0,
hover = TRUE,
hoverConnectedEdges =FALSE,
multiselect = TRUE)%>%
visEvents(hoverNode = "function(nodes){
Shiny.onInputChange('current_node_id',nodes);
;}",
select = "function(nodes){
Shiny.onInputChange('current_node_id',nodes);
;}")
})
output$shiny_return <- renderPrint({
if(!is.null(input$current_node_id)){
input$current_node_id
}
})
} #end server
ui <- fluidPage(
mainPanel(
visNetworkOutput("network_proxy"),
verbatimTextOutput("shiny_return")
)
)
よろしくお願い致します。これは素晴らしいパッケージです。 – AquieJo