2

我的代码应该用很少的额外颜色渲染图表,但是当使用代码时,我看不到任何颜色

df <- data.frame(col1 = c( "Cat", "Dog", "Bird"),
 col2 = c( "Feline", "Canis", "Avis"), 
 stringsAsFactors=FALSE)

uniquenodes <- unique(c(df$col1, df$col2))

library(DiagrammeR)

cols <- setNames(rep("green", length(uniquenodes)), uniquenodes);cols["Canis"]<-"red"
nodes <- create_node_df(n=length(uniquenodes), nodes = seq(uniquenodes), type="number", label=uniquenodes, fillcolor=cols)
edges <- create_edge_df(from=match(df$col1, uniquenodes), to=match(df$col2, uniquenodes), rel="related")
g <-create_graph(nodes_df = nodes, edges_df = edges, attr_theme = NULL)
render_graph(g)
4

2 回答 2

2

采用与您使用的完全相同的代码;您只需要更改节点的定义

nodes <- create_node_df(n=length(uniquenodes), nodes = seq(uniquenodes), type="number", label=uniquenodes, color=cols, style = "filled")

我删除了 1 个参数fillcolor=cols并添加了 2 color=colsstyle="filled".

于 2017-03-28T15:03:32.960 回答
2

只需在以下行中替换fillcolorcolor

nodes <- create_node_df(n=length(uniquenodes), nodes = seq(uniquenodes), type="number", label=uniquenodes, color=cols)
于 2017-03-28T15:03:59.643 回答