我似乎无法弄清楚这一点.我有一个.dot文件,根据语法有效.如何使用graphviz将其转换为图像?
(注意我在Windows上,而不是linux)
我试图使用Graphviz绘制图形,但我需要在边缘添加标签.在Graphviz中似乎没有任何方法.有出路吗?
在DOT
语言中GraphViz
,我试图表示一个依赖关系图.我需要能够在容器内部拥有节点,并且能够使节点和/或容器依赖于其他节点和/或容器.
我subgraph
用来代表我的容器.节点链接工作正常,但我无法弄清楚如何连接子图.
鉴于下面的程序,我需要能够连接cluster_1
并cluster_2
使用箭头,但我尝试过的任何东西都会创建新节点而不是连接集群:
digraph G {
graph [fontsize=10 fontname="Verdana"];
node [shape=record fontsize=10 fontname="Verdana"];
subgraph cluster_0 {
node [style=filled];
"Item 1" "Item 2";
label = "Container A";
color=blue;
}
subgraph cluster_1 {
node [style=filled];
"Item 3" "Item 4";
label = "Container B";
color=blue;
}
subgraph cluster_2 {
node [style=filled];
"Item 5" "Item 6";
label = "Container C";
color=blue;
}
// Renders fine
"Item 1" -> "Item 2";
"Item 2" -> "Item …
Run Code Online (Sandbox Code Playgroud) 这是我的点图的一个非常简化的例子:
strict digraph graphName {
A->B
B->A
}
Run Code Online (Sandbox Code Playgroud)
这创造了
相反,我希望在A和B之间显示一条边,但是有一个双箭头.我知道如何将双箭头作为全局选项:
strict digraph graphName {
edge [dir="both"]
A->B
B->A
}
Run Code Online (Sandbox Code Playgroud)
但这看起来非常难看,而且我的所有优势都不应该是双头的.
如果我对图形进行更多处理并自己检测双引用并用单个边缘替换两条边缘,则看起来没问题.但我宁愿不必做这个额外的步骤
strict digraph graphName {
A->B [dir="both"]
}
Run Code Online (Sandbox Code Playgroud)
更好的解决方案?
我正在尝试创建一个带有两个子图的图形.代码如下:
digraph G {
subgraph step1 {
style=filled;
node [label="Compiler"] step1_Compiler;
node [label="Maschine"] step1_Maschine;
color=lightgrey;
}
subgraph step2 {
style=filled;
color=lightgrey;
node [label="Interpretierer"] step2_Interpretierer;
node [label="Maschine"] step2_Maschine;
label="Virtuelle Maschine";
}
"Programm (Java)" -> step1_Compiler;
step1_Compiler -> step1_Maschine;
step1_Maschine -> "Bytecode";
"Bytecode" -> step2_Interpretierer;
step2_Interpretierer -> step2_Maschine;
step2_Maschine -> "Ergebnis";
}
Run Code Online (Sandbox Code Playgroud)
我得到的结果如下:
我希望两个子图周围都能看到一个方框.我在这里错过了什么?
我试图强制节点的位置.我有我的节点的x和y坐标及其有向图.我可以使用rank = same来处理行(y坐标),但无法弄清楚我如何处理列(x坐标).
我用点语言制作了一棵树,类似于这里的树.
有什么方法可以让树向右扩展,而不是向下扩展(所以根节点在左边,子节点在右边).
我正在使用graphviz(点)生成您可以在下面看到的图形.左下角的节点(红色椭圆)因其边缘穿过相邻节点的几个边缘而引起烦恼.有没有办法将节点放置到某个区域?
谢谢你的想法