【问题标题】:Centers node in a cluster集群中的中心节点
【发布时间】:2021-10-16 14:32:03
【问题描述】:

我尝试在 graphviz 中仅在一个图中绘制多个有限状态图 现在我有这个:

digraph D {
    
    rankdir = LR;
    node [shape = circle]

    subgraph automaton_1 {
        invis [shape = point style = invis]
        0 [label =<S<SUB>0</SUB>>]
        1 [label =<S<SUB>1</SUB>>]
        2 [label =<S<SUB>2</SUB>>]
        3 [label =<S<SUB>3</SUB>>]
        4 [label =<S<SUB>4</SUB>>]
        5 [label =<S<SUB>5</SUB>> peripheries = 2]
    }

    invis -> 0
    0 -> 1[label = "a"]
    1 -> 2[label = "b"]
    0 -> 3[label = "b"]
    3 -> 4[label = "c"]
    2 -> 5[label = "d"]
    4 -> 5[label = "d"]

    subgraph automaton_2 {
        b_invis [shape = point style = invis]
        b_0 [label =<S<SUB>0</SUB>'>]
        b_1 [label =<S<SUB>1</SUB>'>]
        b_2 [label =<S<SUB>2</SUB>'>]
        b_3 [label =<S<SUB>3</SUB>'>]
        b_4 [label =<S<SUB>4</SUB>'>]
        b_5 [label =<S<SUB>5</SUB>'> peripheries = 2]
    }

    b_invis -> b_0
    b_0 -> b_1[label = "a"]
    b_1 -> b_2[label = "b"]
    b_0 -> b_3[label = "b"]
    b_3 -> b_4[label = "c"]
    b_2 -> b_5[label = "d"]
    b_4 -> b_5[label = "d"]

    invis -> b_invis[constraint=false, style=invis]
}

给出这个结果:image 1

但我想要两个独立对齐的图表,像这样对齐:image 2

【问题讨论】:

  • 您想要 2 个页面、2 个不同的输出文件还是其他内容?
  • 只是两个图表,一个在另一个之上,但像第二个图像一样对齐

标签: graphviz dot


【解决方案1】:

您可以通过将cluster_ 添加到它们的名称来将您的subgraphs 变成实际的集群。每个子图中的内部集群节点不会相互影响。

这是更正后的代码和结果(请注意,我还为每个集群添加了peripheries=0 以删除边框:

digraph D {
    rankdir = LR;
    node [shape = circle]

    subgraph cluster_automaton_1 {
        peripheries=0
        invis [shape = point style = invis]
        0 [label =<S<SUB>0</SUB>>]
        1 [label =<S<SUB>1</SUB>>]
        2 [label =<S<SUB>2</SUB>>]
        3 [label =<S<SUB>3</SUB>>]
        4 [label =<S<SUB>4</SUB>>]
        5 [label =<S<SUB>5</SUB>> peripheries = 2]
    }

    invis -> 0
    0 -> 1[label = "a"]
    1 -> 2[label = "b"]
    0 -> 3[label = "b"]
    3 -> 4[label = "c"]
    2 -> 5[label = "d"]
    4 -> 5[label = "d"]

    subgraph cluster_automaton_2 {
        peripheries=0

        b_invis [shape = point style = invis]
        b_0 [label =<S<SUB>0</SUB>'>]
        b_1 [label =<S<SUB>1</SUB>'>]
        b_2 [label =<S<SUB>2</SUB>'>]
        b_3 [label =<S<SUB>3</SUB>'>]
        b_4 [label =<S<SUB>4</SUB>'>]
        b_5 [label =<S<SUB>5</SUB>'> peripheries = 2]
    }

    b_invis -> b_0
    b_0 -> b_1[label = "a"]
    b_1 -> b_2[label = "b"]
    b_0 -> b_3[label = "b"]
    b_3 -> b_4[label = "c"]
    b_2 -> b_5[label = "d"]
    b_4 -> b_5[label = "d"]

    invis -> b_invis[constraint=false, style=invis]
}

【讨论】:

    猜你喜欢
    • 2019-06-11
    • 1970-01-01
    • 2021-11-24
    • 2016-10-27
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多