使用点记录节点 (Graphviz) 表示带有索引的数组

Represent array with indices using dot record nodes (Graphviz)

我正在使用 Graphviz 来表示数组,使用 subgraphsrecord 节点:

subgraph cluster_array
{
    label="my array"
    Array [shape="record", label="A | B | C | D"]
    Array
}

我想为每个数组元素添加外部索引,映射0 -> A1 -> B等等。

我想获得类似于以下的结果:

我已经在线搜索并尝试使用 xlabel,但找不到为每个记录元素正确添加标签的方法。我也试过使索引成为标签的一部分,并使用 lp 移动标签,但它似乎对 record 个节点没有影响。

是否可以使用 GraphViz 将外部元素标签添加到 record 节点?

不是您问题的真正答案(我认为应该是 "no"),而是一种可以满足您需求的解决方法。我使用了一个 "parallel" 记录节点,它没有边框(或者准确地说是纸色边框),位置非常接近并且由一条不可见的边缘连接:

digraph so
{
    subgraph cluster0
    {
        rank = same{ Array notes }
        color = white;
        Array [ shape = record, label = "{ A | B | C | D }"] ;
        notes [ shape = record, color = white, label = "{ a_1 | b_2 | c_3 | d_4 }" ];
        Array -> notes[ style = invis ];
    }
    nodesep = .0;
    X -> Array -> Z;
}

产生