DiagrammeR:如何为流程图的某些节点使用不同的颜色?
DiagrammeR: How could I use a different color for some nodes of a flowchart?
我想用R中的DiagrammeR
包创建一个流程图。流程图的颜色应该根据每个变量名开头的标识符来设置。
考虑以下可重现的示例:
library("DiagrammeR")
# Create a node data frame (ndf)
ndf <- create_node_df(n = 4,
label = c("^color", "aaa", "bbb", "ccc"))
# Create an edge data frame (edf)
edf <- create_edge_df(from = c(1, 2, 3, 3),
to = c(4, 3, 1, 4))
# Create a graph with the ndf and edf
graph <- create_graph(nodes_df = ndf,
edges_df = edf) %>%
set_global_graph_attrs(
attr = c("style", "fillcolor"),
value = c("filled", "darkolivegreen3"),
attr_type = c("node", "node"))
# Create a PDF file for the graph (`graph.pdf`)
graph %>%
render_graph()
使用set_global_graph_attrs
函数,我可以设置全局颜色。我想用红色开头的 ^ 为每个变量着色。在示例中,变量 ^color 应为红色。流程图的其余部分应保持绿色。不幸的是,我找不到解决这个问题的方法。
问题:如何为流程图的某些节点使用不同的颜色?
您可以像这样单独设置节点属性。
ndf$fillcolor = as.character(NA)
ndf$fillcolor[grep('\^', ndf$label)] = 'red'
我想用R中的DiagrammeR
包创建一个流程图。流程图的颜色应该根据每个变量名开头的标识符来设置。
考虑以下可重现的示例:
library("DiagrammeR")
# Create a node data frame (ndf)
ndf <- create_node_df(n = 4,
label = c("^color", "aaa", "bbb", "ccc"))
# Create an edge data frame (edf)
edf <- create_edge_df(from = c(1, 2, 3, 3),
to = c(4, 3, 1, 4))
# Create a graph with the ndf and edf
graph <- create_graph(nodes_df = ndf,
edges_df = edf) %>%
set_global_graph_attrs(
attr = c("style", "fillcolor"),
value = c("filled", "darkolivegreen3"),
attr_type = c("node", "node"))
# Create a PDF file for the graph (`graph.pdf`)
graph %>%
render_graph()
使用set_global_graph_attrs
函数,我可以设置全局颜色。我想用红色开头的 ^ 为每个变量着色。在示例中,变量 ^color 应为红色。流程图的其余部分应保持绿色。不幸的是,我找不到解决这个问题的方法。
问题:如何为流程图的某些节点使用不同的颜色?
您可以像这样单独设置节点属性。
ndf$fillcolor = as.character(NA)
ndf$fillcolor[grep('\^', ndf$label)] = 'red'