DiagrammeR:我如何为流程图的某些节点使用不同的颜色?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DiagrammeR:我如何为流程图的某些节点使用不同的颜色?相关的知识,希望对你有一定的参考价值。

我想用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()

enter image description here

使用set_global_graph_attrs函数,我可以设置全局颜色。我想用红色开头的^为每个变量着色。在示例中,变量^ color应该用红色表示。流程图的其余部分应保持绿色。不幸的是,我无法找到解决此问题的方法。

问题:如何为流程图的某些节点使用不同的颜色?

答案

您可以像这样单独设置节点属性。

ndf$fillcolor = as.character(NA)
ndf$fillcolor[grep('^', ndf$label)] = 'red'

enter image description here

以上是关于DiagrammeR:我如何为流程图的某些节点使用不同的颜色?的主要内容,如果未能解决你的问题,请参考以下文章

在 Anylogic 中,我如何为向多个客户交付订单的卡车建模

diagrammeR - 改编自“如何在我的流程图中添加武器?”

Rmarkdown 文件中的 DiagrammeR/mermaid 流程图,输出格式为 PDF/LaTex

如何在 Rmarkdown 文件中包含 DiagrammeR/mermaid 流程图

我如何为我的网站使用特定字体[重复]

使用 azure webjobs 我如何为计划任务传递参数