库图 - 分层布局和树的混合 - 如何做?

库图 - 分层布局和树的混合 - 如何做?

对我来说,创建具有某些特定属性的图表是不可能的。也许你有一些关于如何实现的有用想法?!

1. 和 2. 中的图表的属性必须是“混合”的,而在 3. 中,父级和传出链(子级)之间的链接连接样式是一个不错的选择。

1. 为了节省空间,最好采用“分层布局”,但不采用迷宫链结构,见下图(B)。例如,代替结构

1-3 -> 5-1 (same line)
    -> 1-4 (new line)

它必须看起来像

1-3 -> 1-4 (same line)
    -> 5-1 (new line)

2. 从父链可以分支出多条子链。父链中的所有链节必须在同一条线上,如上图(A)所示。

3. 每个传出链(具有属性 [>红色、向右弯曲、非常粗] 的子链)的初始链接必须是矩形而不是直线。

感谢您的帮助!

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{graphs}
\usetikzlibrary{graphdrawing}
\usegdlibrary{layered}


\begin{document}
    \tikz [
    rotate=90,
    ]
    \graph [
    ]{
        "1-1" -> {
            "1-2" -> "1-3" ->{
                "1-4" ->"1-5"->{
                    "1-6",
                    "2-1"[>red, bend right, very thick]
                    ->"2-2"->{
                        "2-3",
                        "4-1"[>red, bend right, very thick]
                    },
                },
                "5-1"[>red, bend right, very thick]
                ->"5-2"->"5-3"->"5-4"
            },
            "3-1"[>red, bend right, very thick]
            ->"3-2"->"3-3"->"3-4"->"3-5"->"3-6"->"3-7"->"3-8"->"3-9"->"3-10"->"3-11"->"3-12"
        }
    };

    \hspace{2cm}

    \tikz [
    layered layout,
    rotate=90
    ]
    \graph [
    ]{
        "1-1" -> {
            "1-2" -> "1-3" ->{
                "1-4" ->"1-5"->{
                    "1-6",
                    "2-1"[>red, bend right, very thick]
                    ->"2-2"->{
                        "2-3",
                        "4-1"[>red, bend right, very thick]
                    },
                },
                "5-1"[>red, bend right, very thick]
                ->"5-2"->"5-3"->"5-4"
            },
            "3-1"[>red, bend right, very thick]
            ->"3-2"->"3-3"->"3-4"->"3-5"->"3-6"->"3-7"->"3-8"->"3-9"->"3-10"->"3-11"->"3-12"
        }
    };
\end{document}

上面的代码如图所示: 上(A)和下(A)示例

其目的是获得如下图表: 在此处输入图片描述

答案1

使用使用程序的语言Graphviz以及dot2tex包(包括点图 (LaTeX 中的图形) 有助于获得所需的结果。点图的好处是可以更简单地绘制图形,请参阅代码和图形示例。

另一方面,方形边缘并不总是按应有的方式绘制,参见Graphviz 节点之间的边绘制错误

对于大家如何需要方边来连接单个音符可以看看这个威胁:DOT 能否生成更加结构化的图表?

使用以下方法可能会出现的问题dot2tex在 PDF 编译过程中(通常是--shell 转义标志问题)。如果您使用 TexStudio,请查看最后一个链接来寻找解决方案。

以下是示例代码和对应的图:

\documentclass{standalone}
\usepackage[debug]{dot2texi}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
    \begin{dot2tex}[]
    digraph {
        rankdir=LR;
        pencolor=transparent;
        graph [splines=ortho];
        subgraph cluster1{
1->2->3->4->5;
}
subgraph cluster2 {
6->7->8->9->10.1;
}
subgraph cluster3 {
11->12->13->14->15;
}
subgraph cluster4 {
16->17->18->19->20;
}
subgraph cluster5 {
21->22->23->24->25
}
1->11;
3->21;
5->6;
1 [label="1-1"];
7->16;
}
    \end{dot2tex}
\end{document}

带子聚类的正交图

相关内容