【问题标题】:Graphviz subgraphs looking like record shaped nodesGraphviz 子图看起来像记录形状的节点
【发布时间】:2013-03-28 00:57:16
【问题描述】:

我正在尝试为有许多嵌套箱的 GStreamer 应用程序生成图表。每个 bin 都有一些元素,但父 bin 的 bin 看起来像任何其他具有 pad(接收器和源)的常见元素。我想可视化它,但在 Graphviz 中我无法生成嵌套节点,所以我必须通过子图来完成。不幸的是,子图没有像记录形状这样的节点选项。在我的图中,每个节点都有记录形状,但子图不能。示例:

digraph G
{
    graph [rankdir = TD]
    node [shape = record]

    subgraph cluster_player
    {
        label = "player"        

        subgraph cluster_bin1
        {
            label = "bin1"

            bin1_sink1 [label = "sink1"]
            bin1_sink2 [label = "sink2"]
            obj1 [
                label = "{ { <sink1> sink1 | <sink2> sink2 } | obj1 | { <src1> src1 | <src2> src2 } }"
            ]           
            bin1_src1 [label = "src1"]
            bin1_src2 [label = "src2"]

            bin1_sink1:s -> obj1:sink1:n []
            bin1_sink2:s -> obj1:sink2:n []
            obj1:src1:s -> bin1_src1:n []
            obj1:src2:s -> bin1_src2:n []
        }

        bin1_src1:s -> bin2_sink1:n []
        bin1_src2:s -> bin2_sink2:n []

        subgraph cluster_bin2
        {
            label = "bin2"

            bin2_sink1 [label = "sink1"]
            bin2_sink2 [label = "sink2"]            
            bin2_obj1 [
                label = "{ { <sink1> sink1 | <sink2> sink2 } | obj1 | { <src1> src1 } }"
            ]       
            bin2_obj2 [
                label = "{ { <sink1> sink1 } | obj2 | { <src1> src1 } }"
            ]       
            bin2_src1 [label = "src1"]

            bin2_sink1:s -> bin2_obj1:sink1:n []
            bin2_sink2:s -> bin2_obj1:sink2:n []
            bin2_obj1:src1:s -> bin2_obj2:sink1:n []
            bin2_obj2:src1:s -> bin2_src1:n []
        }
    }
}

正如您现在看到的那样,垃圾箱中的源和汇就像普通元素一样,但我希望它们看起来像“obj1”中的记录。怎么做?如果不可能,也许还有其他语言具有该功能?

【问题讨论】:

  • gstreamer 中的 graphviz 支持对您来说还不够好吗?查看 GST_DEBUG_DUMP_DOT_DIR 环境变量和相关宏。
  • 这对我来说还不够好,因为我想让它变得更好;)
  • 在graphviz邮件列表上询问怎么样?我花了相当多的时间来想出当前的表格。在节点和集群上拥有端口确实很好。

标签: gstreamer graphviz dot subgraph


【解决方案1】:

Graphviz 子图是容器。它们不支持您正在寻找的记录符号或形状属性。 shape 仅限于节点,子图则不然。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    • 2018-08-23
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多