将节点连接到 R graphviz 中的边
Join nodes to edges in R graphviz
我想用 diagrammeR 在 R 中绘制点图,其中一些节点有指向边的箭头。
比如这张图
library(DiagrammeR)
grViz("
digraph PrimC{
graph [layout = dot]
node [shape = circle]
A B
A -> B [label = 'Rate']
}")
我想看起来像这个(手工编辑)。注意,这些类型的图表通常用于显示汇率何时受其他事物数量的影响。
This answer suggests that using invisible nodes can achieve this, but does not actually show how. It links to this answer,它展示了如何将不可见节点用于一种稍微不同类型的图形,其中几条边在一个点上相交,但不包括我正在寻找的边指向另一条边的中点。
我尝试了多种不可见节点和边的不同组合,但无法使它们中的任何一个接近我想要的。
这里有一个乱七八糟的尝试作为例子
grViz("
digraph PrimC{
graph [layout = dot]
node [shape = circle]
A B
node[shape=none, width=0, height=0, label=''];
p1
node [shape = circle]
B
A -> p1 [label = 'Rate']
p1 -> B
B -> p1;
{rank=same; A -> p1; B -> p1;}
}")
有什么方法可以让它工作吗?如果有更好的解决方案,请接受使用除 diagrammeR 和 graphviz 以外的其他方法的建议。
我不确定这是否会在一般情况下起作用,但对于这种情况,我会这样做:
digraph PrimC{
graph [layout = dot]
rankdir = LR
node[shape = circle]
{rank=same
A
B
p1[shape=none, width=0, height=0, label='']
}
A -> p1 [label = 'Rate', arrowhead=none]
p1 -> B
B:ne -> p1[constraint=no, arrowType=normal]
}
我想用 diagrammeR 在 R 中绘制点图,其中一些节点有指向边的箭头。
比如这张图
library(DiagrammeR)
grViz("
digraph PrimC{
graph [layout = dot]
node [shape = circle]
A B
A -> B [label = 'Rate']
}")
我想看起来像这个(手工编辑)。注意,这些类型的图表通常用于显示汇率何时受其他事物数量的影响。
This answer suggests that using invisible nodes can achieve this, but does not actually show how. It links to this answer,它展示了如何将不可见节点用于一种稍微不同类型的图形,其中几条边在一个点上相交,但不包括我正在寻找的边指向另一条边的中点。
我尝试了多种不可见节点和边的不同组合,但无法使它们中的任何一个接近我想要的。
这里有一个乱七八糟的尝试作为例子
grViz("
digraph PrimC{
graph [layout = dot]
node [shape = circle]
A B
node[shape=none, width=0, height=0, label=''];
p1
node [shape = circle]
B
A -> p1 [label = 'Rate']
p1 -> B
B -> p1;
{rank=same; A -> p1; B -> p1;}
}")
有什么方法可以让它工作吗?如果有更好的解决方案,请接受使用除 diagrammeR 和 graphviz 以外的其他方法的建议。
我不确定这是否会在一般情况下起作用,但对于这种情况,我会这样做:
digraph PrimC{
graph [layout = dot]
rankdir = LR
node[shape = circle]
{rank=same
A
B
p1[shape=none, width=0, height=0, label='']
}
A -> p1 [label = 'Rate', arrowhead=none]
p1 -> B
B:ne -> p1[constraint=no, arrowType=normal]
}