gvpack (graphviz) 不保留单个二合字母的标签
gvpack (graphviz) not preserving labels of the individual digraphs
有四个点文件(cluster_0、cluster_1、cluster_2、cluster_3)需要合并成一个点文件。
各个点文件的代码如下
digraph cluster_0{
sortv=1;
penwidth=0;pencolor=transparent;
label="1A";
rankdir=LR;
node [fontname = "times-roman-bold",fontsize=12];
edge [fontname = "times-roman-bold",fontsize=12,arrowsize=0.75];
1 [label="1:A"];
2 [label="2:C"];
3 [label="3:G"];
3 -> 1
1 -> 2
3 -> 2
2 -> 3
}
digraph cluster_1 {
sortv=2;
penwidth=0;pencolor=transparent;
label="1B";
node [fontname = "times-roman-bold",fontsize=12];
edge [fontname = "times-roman-bold",fontsize=12,arrowsize=0.75];
rankdir=LR;
11 [label="1:A"];
12 [label="2:C"];
13 [label="3:G"];
14 [label="4:T"];
14 -> 11
11 -> 12
12 -> 13
12 -> 14
13 -> 14
}
digraph cluster_2 {
rankdir=LR;
sortv=3;
penwidth=0;pencolor=transparent;
label="1C";
node [fontname = "times-roman-bold",fontsize=12];
edge [fontname = "times-roman-bold",fontsize=12,arrowsize=0.75];
21 [label="1:A"];
22 [label="2:C"];
23 [label="3:G"];
24 [label="4:T"];
25 [label="5:A"];
24 -> 21
21 -> 22
21 -> 25
25 -> 22
22 -> 23
23 -> 24
}
digraph cluster_3{
sortv=4;
penwidth=0;pencolor=transparent;
label="1D"
node [fontname = "times-roman-bold",fontsize=12];
edge [fontname = "times-roman-bold",fontsize=12,arrowsize=0.75];
rankdir=LR;
31 [label="1:A"];
32 [label="2:C"];
33 [label="3:G"];
31:c -> 31:w
32 -> 31 [dir=both,len=1.25];
33 -> 31 [dir=both,];
32 -> 32
33 -> 32 [dir=both,];
33 -> 33
}
要生成合并的单点文件...我运行以下命令。
neato -Gstart=5 cluster_0.dot cluster_1.dot cluster_2.dot cluster_3.dot | gvpack -array_u4 | neato -n2 -s -Teps -o merge.eps
merge.eps 非常顺利,但个别图表的标签丢失了。我们如何在输出合并文件中保留各个图的标签?谁能帮忙解决这个问题?
我在这里附上显示标签的单个文件
我使用以下命令编译了单个文件。
neato -Gstart=5 cluster_0.dot -Teps -o cluster_0.eps
另外我附上删除了图表标签的合并输出文件。
这不是答案,而是分享经验:在尝试各种选项时发现,似乎是 neato
引擎抑制了标签。如果您使用 dot
,您可能不会得到您想要的确切布局,但您会得到标签:
dot -Gstart=5 cluster_0.dot cluster_1.dot cluster_2.dot cluster_3.dot | gvpack -array_u4 | dot -n2 -s -T jpg -o merge.jpg
给你
我个人的偏好是拥有一个主文件 so.m4
digraph so
{
define(`digraph',`subgraph')
rankdir=LR;
include(cluster_0.dot)
include(cluster_1.dot)
include(cluster_2.dot)
include(cluster_3.dot)
}
我用
处理
m4 so.m4 > so.dot
在生成的 so.dot
文件中,我将所有集群组合在一起,我可以使用简单的
进入下一步(此处生成 JPG)
dot -T png -o so.png so.dot
这样做的好处是您可以使用 "global options" 的主文件。我认为它比具有所有管道和选项的命令更容易维护并且不那么笨拙。但这是一个品味问题。
使用选项 rankdir=LR;
生成此版本:
玩得开心 - 很高兴做更多,但我需要了解更多关于你的项目。
有四个点文件(cluster_0、cluster_1、cluster_2、cluster_3)需要合并成一个点文件。
各个点文件的代码如下
digraph cluster_0{
sortv=1;
penwidth=0;pencolor=transparent;
label="1A";
rankdir=LR;
node [fontname = "times-roman-bold",fontsize=12];
edge [fontname = "times-roman-bold",fontsize=12,arrowsize=0.75];
1 [label="1:A"];
2 [label="2:C"];
3 [label="3:G"];
3 -> 1
1 -> 2
3 -> 2
2 -> 3
}
digraph cluster_1 {
sortv=2;
penwidth=0;pencolor=transparent;
label="1B";
node [fontname = "times-roman-bold",fontsize=12];
edge [fontname = "times-roman-bold",fontsize=12,arrowsize=0.75];
rankdir=LR;
11 [label="1:A"];
12 [label="2:C"];
13 [label="3:G"];
14 [label="4:T"];
14 -> 11
11 -> 12
12 -> 13
12 -> 14
13 -> 14
}
digraph cluster_2 {
rankdir=LR;
sortv=3;
penwidth=0;pencolor=transparent;
label="1C";
node [fontname = "times-roman-bold",fontsize=12];
edge [fontname = "times-roman-bold",fontsize=12,arrowsize=0.75];
21 [label="1:A"];
22 [label="2:C"];
23 [label="3:G"];
24 [label="4:T"];
25 [label="5:A"];
24 -> 21
21 -> 22
21 -> 25
25 -> 22
22 -> 23
23 -> 24
}
digraph cluster_3{
sortv=4;
penwidth=0;pencolor=transparent;
label="1D"
node [fontname = "times-roman-bold",fontsize=12];
edge [fontname = "times-roman-bold",fontsize=12,arrowsize=0.75];
rankdir=LR;
31 [label="1:A"];
32 [label="2:C"];
33 [label="3:G"];
31:c -> 31:w
32 -> 31 [dir=both,len=1.25];
33 -> 31 [dir=both,];
32 -> 32
33 -> 32 [dir=both,];
33 -> 33
}
要生成合并的单点文件...我运行以下命令。
neato -Gstart=5 cluster_0.dot cluster_1.dot cluster_2.dot cluster_3.dot | gvpack -array_u4 | neato -n2 -s -Teps -o merge.eps
merge.eps 非常顺利,但个别图表的标签丢失了。我们如何在输出合并文件中保留各个图的标签?谁能帮忙解决这个问题?
我在这里附上显示标签的单个文件 我使用以下命令编译了单个文件。
neato -Gstart=5 cluster_0.dot -Teps -o cluster_0.eps
另外我附上删除了图表标签的合并输出文件。
这不是答案,而是分享经验:在尝试各种选项时发现,似乎是 neato
引擎抑制了标签。如果您使用 dot
,您可能不会得到您想要的确切布局,但您会得到标签:
dot -Gstart=5 cluster_0.dot cluster_1.dot cluster_2.dot cluster_3.dot | gvpack -array_u4 | dot -n2 -s -T jpg -o merge.jpg
给你
我个人的偏好是拥有一个主文件 so.m4
digraph so
{
define(`digraph',`subgraph')
rankdir=LR;
include(cluster_0.dot)
include(cluster_1.dot)
include(cluster_2.dot)
include(cluster_3.dot)
}
我用
处理m4 so.m4 > so.dot
在生成的 so.dot
文件中,我将所有集群组合在一起,我可以使用简单的
dot -T png -o so.png so.dot
这样做的好处是您可以使用 "global options" 的主文件。我认为它比具有所有管道和选项的命令更容易维护并且不那么笨拙。但这是一个品味问题。
使用选项 rankdir=LR;
生成此版本:
玩得开心 - 很高兴做更多,但我需要了解更多关于你的项目。