我正在使用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中的这些定制问题,请提供一个链接。
发布于 2018-01-18 23:30:17
有几种方法可以对节点进行排序。这里最简单的可能是按照这个顺序(而不是a -> T2)拥有边缘a -> T2,所以节点T2首先是,然后使用dir=back反转箭头。可以使用html在节点标签下划线。(还必须使用<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链接,您可以“在字体./字体的范围内设置字体的颜色”。例如,将T1的标签更改为
label = <Node 2 <br/> <font color='red'> <u>extra detail</u> </font> >https://stackoverflow.com/questions/48331824
复制相似问题