用于radialNetwork()的R networkD3颜色节点笔划

时间:2017-03-03 01:23:20

标签: r htmlwidgets networkd3

包中包含一些用于创建明显网络的非常好的功能。不同的函数有不同的参数,所以这个问题特别是关于radialNetwork()函数。 是否可以根据给定的向量改变节点笔划的颜色?

以下代码创建网络图,但将节点笔划的参数更改为包含不同颜色的矢量不起作用。

library(networkD3)
library(tidyverse)
library(data.tree)

## Data
input <- list(number=50)
Data_tree <- data.frame(Start="Class",
                      Asset = sample(c("FI","Equity","Currency","Commodities"),input$number,replace = TRUE),
                      Sub_Asset = sample(c("Asia","Europe","USA","Africa","ME"),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 = "-")



radialNetwork(ToListExplicit(Data_tree, unname = TRUE ), 
           linkColour = "#ccc",
           nodeColour = "#fff",
           nodeStroke = "orange",
           textColour = "#cccccc")

enter image description here

1 个答案:

答案 0 :(得分:3)

不直接...... 不支持该功能。但是,您可以将自己的JavaScript注入该属性。

例如,如果您有正确顺序的颜色名称向量,则可以将其转换为JavaScript数组(格式为["red", "blue", "green"]))并使用JS函数从{{ 1}}包构建一个函数来传递nodeStroke参数。

htmlwidget