【问题标题】:R Network Graph in Shiny not workingShiny中的R网络图不起作用
【发布时间】:2018-05-07 02:50:36
【问题描述】:

我正在尝试根据用户的下拉输入显示不同的图表。我有其他输入工作。只是网络图不起作用。如果我将它切换到不同的图表,它会起作用;只是网络图不起作用。

    if(input$level == "function"){

  data = matrix(sample(0:1, 400, replace = TRUE, prob = c(0.8,0.2)), nrow = 20)
  network = graph_from_adjacency_matrix(data, mode='undirected', diag = F)

  plot(network, layout = layout.circle, main = "circle")
}

这一切都在一个反应​​函数中。我也尝试过使用 igraph 库以及 igraphinshiny 库

【问题讨论】:

  • 能否请您提供更多代码?即,您是否可以实际包含一个可运行的应用程序,其中网络绘图失败,但其他工作正常?

标签: r shiny igraph


【解决方案1】:

以下示例根据所选选项绘制网络图或 5 个点的简单图:

library(shiny)
library(igraph)
ui <- fluidPage(

  sidebarLayout(
    sidebarPanel(
      selectInput("graph", 
                  label = "Choose graph to display",
                  choices = c("Simple plot", "Network Graph"), 
                  selected = "Network Graph")), 
    mainPanel(
      plotOutput("myplot")
    )
  )

)

server <- function(input, output) {

  output$myplot <- renderPlot({

    # Plot Network graph is selected
    if (input$graph == "Network Graph"){
      data = matrix(sample(0:1, 400, replace = TRUE, prob = c(0.8,0.2)), nrow = 20)
      network = graph_from_adjacency_matrix(data, mode='undirected', diag = F)

      # plot simple graph of 5 points
      plot(network, layout = layout.circle, main = "circle")
    } else {
      plot(1:5)
    }
  })


}

shinyApp(ui, server)

【讨论】:

  • 谢谢!我错过了网络图的 renderPlot 函数。其余的工作,因为我有它
猜你喜欢
  • 2017-11-17
  • 2020-07-08
  • 1970-01-01
  • 2020-04-26
  • 1970-01-01
  • 2018-08-20
  • 2020-06-14
  • 2020-09-29
  • 2016-04-22
相关资源
最近更新 更多