我正在使用diagrammeR
grViz
来构建流程图。我想指定一些具有相同排名的节点的顺序。在下面的图表中,我希望节点1位于中心而不是左侧。另外,我想在“节点2”下划线,但不是“额外细节”。这是代码:
library("DiagrammeR")
grViz("
digraph CFA {
# Multiple level nodes
node [shape = rectangle, color=CornflowerBlue]
a [label = 'Node 1' ];
node [shape = ellipse, color=CornflowerBlue]
T1 [label = 'Node 2\\nextra detail'];
T2 [label = 'Node 3'];
{rank = same; a T1 T2}
# Connect nodes with edges and labels
a -> T1
a -> T2
}
")
非常感谢任何帮助。另外,如果有资源可以帮助我解决diagrammeR
中的这些自定义问题,请附上一个链接。
答案 0 :(得分:1)
有多种方法可以订购节点。这里最简单的可能是按此顺序(而不是T2 -> a
)使边a -> T2
,因此节点T2
是第一个,然后使用dir=back
来反转箭头。您可以使用html为节点标签加下划线。 (还必须使用break <br/>
,而不是换行符,\n
)
grViz("
digraph CFA {
a [label = 'Node 1', shape = rectangle, color=CornflowerBlue ];
node [shape = ellipse, color=CornflowerBlue]
T1 [label = <Node 2 <br/> <u>extra detail</u>>];
T2 [label = 'Node 3'];
{rank = same; a T1 T2}
# Connect nodes with edges and labels
a -> T1
T2 -> a[dir=back]
}
")
来自评论:有没有办法让节点中的部分文本变成不同的颜色(例如只是“额外的细节”,而不是“节点2”)?
是的,从上面的html链接中你可以“设置FONT ... / FONT范围内的字体颜色。例如,将T1
的标签更改为
label = <Node 2 <br/> <font color='red'> <u>extra detail</u> </font> >