如何在 graphviz 网络图中添加 3 个点?

How to add 3 dots in a graphviz network diagram?

我有一个简单的 graphviz 网络图,我想在其中显示我的模型的神经网络架构:

DiagrammeR::grViz("digraph G {

rankdir = LR

{a b z} -> {x1, x2, x100} -> Y
                  
}")

输出到:

现在,我想在第一层的b之后和第二层的x2之后添加3个点(垂直),表明这些层中的节点比我多在演示文稿中显示。比如第二层有100个节点(单元)(x1,x2...x100).

我要的就是这个例子中的3个点(摘自this study/source):

有两个挑战

  1. 想办法显示垂直省略号(三个点)
  2. 保持原始节点以所需的顺序和位置显示

如果输出是 SVG 而不是 png,则以下内容适用于我的计算机。如果您认为 SVG 没问题,那就开始吧。如果您需要直接创建 png,则可以使用嵌入图像。

digraph G {
rankdir = LR
splines=false  // straight lines, not curves
// define ellipsis nodes
E1[shape=none  label="⋮" fontsize=30]
E2[shape=none  label="⋮" fontsize=30]
{rank=same a b E1 z}       // align on same rank
{rank=same x1 x2 E2 x100}  // align on same rank

{a b z} -> {x1, x2, x100} -> Y

// invisible edges to order nodes
edge[style=invis]
a->b->E1->z 
x1->x2->E2->x100 
}

提供(由 Imagemagick 将 svg 转换为 png):