我的代码应该使用少量额外颜色渲染图表,但是当使用代码时我看不到任何颜色
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)
答案 0 :(得分:2)
使用与您使用的完全相同的代码;您只需要更改节点的定义
nodes <- create_node_df(n=length(uniquenodes), nodes = seq(uniquenodes), type="number", label=uniquenodes, color=cols, style = "filled")
我删除了1个参数fillcolor=cols
并添加了2个color=cols
和style="filled"
。
答案 1 :(得分:2)
只需将fillcolor
替换为以下行中的color
nodes <- create_node_df(n=length(uniquenodes), nodes = seq(uniquenodes), type="number", label=uniquenodes, color=cols)