2017-03-02 7 views
0

以下の光沢のあるアプリケーションは、ネットワークグラフのレンダリングに失敗します。一方、Rmdファイルではグラフィックを取得します。再現可能な例の下に。もしエラーがあればどこにあるのか知るために。光沢のあるrenderRadialNetworkがグラフのレンダリングに失敗する

library(shiny) 
library(shinythemes) 
library(networkD3) 
library(data.tree) 
library(tidyr) 

# Define UI for application that draws a network graph 
ui <- fluidPage(theme = shinytheme("slate"), 
    sliderInput("number", 
       "Random Numbers:", 
       min = 1, 
       max = 100, 
       value = 20), 

    # Show a plot of the generated distribution 
    radialNetworkOutput("radial") 
) 

# Define server logic required to draw a network graph 
server <- function(input, output) { 

Data_tree <- reactive({ 
    data.frame(Start="Class", 
       Asset = sample(c("FI","Equity","Currency"),input$number,replace = TRUE), 
       Sub_Asset = sample(c("Asia","Europe","USA"),input$number,replace = TRUE), 
       Ticker = replicate(input$number,paste0(sample(LETTERS,3),collapse=""))) %>% 
unite(col="pathString",Start,Asset,Sub_Asset,Ticker,sep="-",remove=FALSE) %>% 
select(-Start) %>% as.Node(pathDelimiter = "-") 
}) 

    output$radial <- renderRadialNetwork({ 
    # draw the radialNetwork with the specified size 
    ToListExplicit(Data_tree(), unname = TRUE) 
    }) 
} 

# Run the application 
shinyApp(ui = ui, server = server) 

グラフィックは以下のようになります。enter image description here

答えて

0

ちょうど短いコードで来て発見しました。 radialNetwork()を追加するために必要なrenderRadialNetwork関数内

ここに作業最終コードがあります。

library(shiny) 
library(shinythemes) 
library(networkD3) 
library(data.tree) 
library(tidyr) 

# Define UI for application that draws a network graph 
ui <- fluidPage(theme = shinytheme("slate"), 
    sliderInput("number", 
       "Random Numbers:", 
       min = 1, 
       max = 100, 
       value = 20), 

    # Show a plot of the generated distribution 
    radialNetworkOutput("radial") 
) 

# Define server logic required to draw a network graph 
server <- function(input, output) { 


    Data_tree <- reactive({ 
data.frame(Start="Class", 
         Asset = sample(c("FI","Equity","Currency"),input$number,replace = TRUE), 
         Sub_Asset = sample(c("Asia","Europe","USA"),input$number,replace = TRUE), 
         Ticker = replicate(input$number,paste0(sample(LETTERS,3),collapse=""))) %>% 
unite(col="pathString",Start,Asset,Sub_Asset,Ticker,sep="-",remove=FALSE) %>% 
select(-Start) %>% as.Node(pathDelimiter = "-") 
    }) 

    output$radial <- renderRadialNetwork({ 
    # draw the radialNetwork with the specified size 
radialNetwork(ToListExplicit(Data_tree(), unname = TRUE), linkColour = "#ccc",nodeColour = "#fff", 
       nodeStroke = "orange",textColour = "#cccccc") 
    }) 


} 

# Run the application 
shinyApp(ui = ui, server = server) 
関連する問題