标签: graphviz

Graphviz:将边缘标签放在另一侧

这可能与如何在graphviz中将边缘标签放置在边缘上有关:我有以下图表,我使用该命令可视化dot -Teps g.dot > g.eps:

graph triple {
    node [shape=box]; User; Object; Tag;
    node [shape=diamond,style=filled]; Triple;
    {
        User -- Triple [label = "1"];
        Object -- Triple [label = "1"];
    }
    {
        rank=same;
        User;
        Object;
    }
    Triple -- Tag [label="n"];
}
Run Code Online (Sandbox Code Playgroud)

我希望通过在User的左侧放置User和Triple之间的标签来使结果更加对称.

dot graphviz

21
推荐指数
2
解决办法
1万
查看次数

Django django-extensions命令不可用(graph_models)

我正在尝试安装django-extensions + graphviz + pygraph,但我不能.我已经完成了以下步骤(在Ubuntu下):

sudo apt-get install graphviz libgraphviz-dev graphviz-dev python-pygraphviz
Run Code Online (Sandbox Code Playgroud)

在项目virtualenv(运行python 2.7.2+):

source <path to virtualenv>/bin/activate
pip install django django-extensions
Run Code Online (Sandbox Code Playgroud)

如果我跑

which python
Run Code Online (Sandbox Code Playgroud)

它在我的virtualenv中选择了python,所以我正在使用的python是正确的.在virtualenv的网站包中我有pygraphviz和django-extensions

python manage.py shell
import django_extensions
import pygraphviz 
RUNS OK
Run Code Online (Sandbox Code Playgroud)

在我的django项目中,我在我的INSTALLED_APPS中添加了"django_extensions"

但是当我跑的时候

python manage.py help
Run Code Online (Sandbox Code Playgroud)

我看不到命令​​,但它们不可用.

python manage.py graph_models -a -g -o model.png
Unknown command: 'graph_models'
Type 'manage.py help' for usage.
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题 ?谢谢!

python django graphviz pygraphviz

21
推荐指数
2
解决办法
9802
查看次数

如何在GraphViz排名布局中强制执行从左到右的节点排序?

我用GraphViz可视化一系列过程.每个进程都按程序顺序包含一些读或写操作.自然地,期望针对每个处理以从左到右的顺序布置操作.

使用GraphViz(版本2.28),我的代码如下:

digraph G 
{
ranksep = 1.0; size = "10,10";
{ 
    node [shape = plaintext, fontsize = 20];
    0 -> 1 -> 2 -> 3 -> 4;
}
node [shape = box];
{rank = same;0;wy1;rf1;rc1;rz1;ry1;ra1;rb1;rx2;}
{rank = same;1;wf1;}
{rank = same;2;wx2;wc1;}
{rank = same;3;wf2;wz2;wx3;wa1;}
{rank = same;4;wz1;wy2;wx5;wb1;}
wy1 -> rf1;
rf1 -> rc1;
rc1 -> rz1;
rz1 -> ry1;
ry1 -> ra1;
ra1 -> rb1;
rb1 -> rx2;
wx2 -> wc1;
wf2 -> wz2;
wz2 -> wx3; …
Run Code Online (Sandbox Code Playgroud)

layout graphviz graph-visualization

21
推荐指数
1
解决办法
2万
查看次数

GraphViz,对相同的边缘进行分组

digraph G {
  a -> b [ label = "foo" ];
  a -> b [ label = "bar" ];
}
Run Code Online (Sandbox Code Playgroud)

这将在'a'和'b'节点之间创建两条边.有没有办法只有一条边(将它们分组)?

graphviz edges

20
推荐指数
2
解决办法
1万
查看次数

在Windows上安装PygraphViz,Python 2.6

有人在Windows上成功安装了PygraphViz吗?

由于没有适用于Windows的正式版本,我正在尝试自己构建它,但它无法编译.我不是第一个面对这个问题,但我无法找到答案.

这是控制台输出:

C:\Python26\Lib\site-packages\pygraphviz-0.99.1>c:\python26\python.exe setup.py
install
library_path=C:/Program Files/Graphviz2.26.3/lib/debug/dll
include_path=C:/Program Files/Graphviz2.26.3/include/graphviz
running install
running build
running build_py
running build_ext
building 'pygraphviz._graphviz' extension
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W
3 /GS- /DNDEBUG "-IC:/Program Files/Graphviz2.26.3/include/graphviz" -Ic:\python
26\include -Ic:\python26\PC /Tcpygraphviz/graphviz_wrap.c /Fobuild\temp.win32-2.
6\Release\pygraphviz/graphviz_wrap.obj
graphviz_wrap.c
warning: I don't know what to do with 'runtime_library_dirs': ['C:/Program Files
/Graphviz2.26.3/lib/debug/dll']
error: don't know how to set runtime library search path for MSVC++
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

c python windows installation graphviz

20
推荐指数
2
解决办法
1万
查看次数

如何优化GraphViz输出宽度?

我制作的图形具有巨大的宽度比:它们的大小为51706 x 503像素.如何告诉GraphViz优化宽度?

注1:图形实际上是一个树,每个节点都有很多子节点.这是一个例子.

注2:我想我用点:)

注3:这是Ruby代码

graphviz

20
推荐指数
2
解决办法
2万
查看次数

如何让DOT显示节点的图像?

我没有成功地在点中的节点处显示图像.

我的节点定义为:

SW103 [image="swOpen.png"]
Run Code Online (Sandbox Code Playgroud)

我可以查看,swOpen.png所以我认为该文件没问题,并且它与代码位于同一目录中.但是dot使用其标签"SW103"显示节点,而不是图像.

该文档提到图像文件中应包含大小信息,但我不知道该放入什么内容.

有人可以指向一个显示.png或.bmp文件作为节点的实际示例吗?(包括图像文件,如果我需要添加尺寸)

dot graphviz

20
推荐指数
1
解决办法
1万
查看次数

防止graphviz重新排列节点

我正在尝试使用graphviz可视化树结构,问题是随着图形变大,graphviz开始重新排列节点的顺序.说我有以下,

  A
/ | \
B C D
Run Code Online (Sandbox Code Playgroud)

它成为了,

  A
/ | \
B D C
Run Code Online (Sandbox Code Playgroud)

它可能这样做是为了节省空间,但在我的上下文节点的顺序,我尝试添加,

graph [ordering="out"];
Run Code Online (Sandbox Code Playgroud)

但它没有改变输出.

编辑:

digraph bt {
graph [ordering="out"];
node [style="rounded", shape=box]
N_2386 -> N_2387
N_2387 -> N_2388
N_2388 -> N_2389
N_2388 -> N_2390
N_2387 -> N_2391
N_2386 -> N_2392
subgraph cluster_2393 {
labeljust = "l";
style=dashed;color="#B0B0B0"
N_2392 -> N_2394
N_2394 -> N_2395
N_2395 -> N_2396
N_2396 -> N_2397
N_2397 -> N_2398
N_2397 -> N_2399
N_2396 -> N_2400
N_2400 -> N_2401
N_2400 -> …
Run Code Online (Sandbox Code Playgroud)

graphviz

20
推荐指数
2
解决办法
1万
查看次数

dot:破折号

是否可以在节点名称中使用破折号?我尝试用反斜杠逃避(搜索网络也没有帮助).例:

digraph test {
    some-name -> other-name;
}
Run Code Online (Sandbox Code Playgroud)

dot graphviz

20
推荐指数
1
解决办法
4983
查看次数

在Graphviz中创建直边

我想使用Graphviz创建一个流程图(类似于Visio).这是一个示例图.

digraph start_up {
node [style = rounded]; 
node [shape = rect] start end;
node [style = ""];
node [shape = diamond] "USB\nCommand\nArrived";
start -> "Initialize\nCode";
"Initialize\nCode" -> "USB\nCommand\nArrived";
"USB\nCommand\nArrived" -> "USB\nCommand\nArrived" [label="No" tailport=w headport=n];
"USB\nCommand\nArrived" -> "Has USB 3.0\nInterface Been\nSelected" [label = "Yes"];
 "Has USB 3.0\nInterface Been\nSelected" -> end
}
Run Code Online (Sandbox Code Playgroud)

问题是当我在Graphviz中渲染这个由"USB\nCommand\nArrived" -> "USB\nCommand\nArrived" [label="No" tailport=w headport=n]; 看起来非常难看的行创建时.我不介意曲线,但这条线看起来变形了.您可以在此处查看Graphviz创建的内容

有没有办法让这个看起来更好?

dot flowchart graphviz

19
推荐指数
1
解决办法
1万
查看次数