请教dot绘图结点的顺序

281 views
Skip to first unread message

单琪玮

unread,
May 12, 2012, 11:18:23 PM5/12/12
to sh...@googlegroups.com
graph G {
all -- A -- AB -- ABC;
all -- B -- BC -- ABC;
all -- C -- AC -- ABC;
A -- AC; B -- AB; C -- BC;
}

以上代码生成的图形在第二层节点的顺序并不是 A B C而是 B A C。

请问大家有没有办法指定这一层里节点的顺序?

Zoom.Quiet

unread,
May 13, 2012, 1:27:00 AM5/13/12
to sh...@googlegroups.com
使用
edge [style=invis];

进行顺序指定
- 但是,真心建议不要多用,,,
参考:
http://tangle.zoomquiet.googlecode.com/hg/dot/obp/doineed_sql_or_hadoop.dot
效果:
http://tangle.zoomquiet.googlecode.com/hg/dot/obp/doineed_sql_or_hadoop.png

--
人生苦短, Pythonic! 冗余不做,日子甭过!备份不做,十恶不赦!
俺: http://about.me/zoom.quiet
文字协议: http://creativecommons.org/licenses/by-sa/2.5/cn/

jun xu

unread,
May 25, 2012, 9:34:08 AM5/25/12
to sh...@googlegroups.com
请教dot绘图diamond节点处的两个分支是否可以指定从菱形的两边画下去?
digraph reset_initial{
node [shape=box fontsize=12]
a -> b -> c -> d -> e;
a [label="单片机拉低总线"];
b [label="延时480-950us"];
c [label="单片机释放总线"];
d [label="读取DQ电平"];
e [shape=diamond label="==0?"];
f [label="成功"];
g [label="失败"];
e -> f [label="Yes"];
e -> g [label="No"];
{rank=same; f g}
}


Zoom.Quiet

unread,
May 25, 2012, 10:06:53 PM5/25/12
to sh...@googlegroups.com
2012/5/25 jun xu <emb...@gmail.com>:
> 请教dot绘图diamond节点处的两个分支是否可以指定从菱形的两边画下去?
- 应该可以,但是很麻烦
- 建议直接使用自动的形式,,,

> digraph reset_initial{
> node [shape=box fontsize=12]
> a -> b -> c -> d -> e;
> a [label="单片机拉低总线"];
> b [label="延时480-950us"];
> c [label="单片机释放总线"];
> d [label="读取DQ电平"];
> e [shape=diamond label="==0?"];
> f [label="成功"];
> g [label="失败"];
> e -> f [label="Yes"];
> e -> g [label="No"];
> {rank=same; f g}
> }
>
>

--

Wang Fei

unread,
May 26, 2012, 9:14:20 PM5/26/12
to sh...@googlegroups.com
zq,感觉你用graphviz画出来的图都很整齐,像是微调过的
但是,你又建议优先自动化,你能不能总结一些技巧

比如 背景、布局、一般流程框图(类设计图)等

尤其是布局、连接线不能太多交叉,布局有层次感

wiki应该链接上一些常用布局还有你那些漂亮图图的索引,这样
大家好找,现在的例子都太简单了


感谢你的推荐,就是从你那里知道这个工具的,但是真正画的时候
可能会用tikz,因为他能自定义的东西的,自动化的东西也多,当然
如果有了一些技巧,graphviz会事半功倍的



----
best regards



2012/5/26 Zoom.Quiet <zoom....@gmail.com>

Zoom.Quiet

unread,
May 26, 2012, 11:52:13 PM5/26/12
to sh...@googlegroups.com
在 2012年5月27日 上午9:14,Wang Fei <pyth...@gmail.com> 写道:
> zq,感觉你用graphviz画出来的图都很整齐,像是微调过的

- 参考俺图片的dot 源代码
- 的确,使用 graphviz 会随着自个儿的喜好不断的调整样式
- 好在是图形脚本,每次的尝试,可以累积,不断丰富給下次使用
对比 03年的 http://wiki.woodpecker.org.cn/moin/ZoomQuiet/AllAboutMe
和现在的 http://zoomquiet.org/
http://datavlab.org/2012/03/11/2503
其实,只是对字体/背影/图样的默认间隔以及高度进行了配置,并没有过多的調整

> 但是,你又建议优先自动化,你能不能总结一些技巧
>
> 比如 背景、布局、一般流程框图(类设计图)等
>
> 尤其是布局、连接线不能太多交叉,布局有层次感
>

- 其实,这里有个誤解,俺也是使用了 dot 后才想明白
- 图形最后是否清晰,不是布局的結果
- 而是我的思維是否真正明确/清晰!
- 如果,我对想阐述的事物关系不明确,自动计算出来的图形一定是乱的!

> wiki应该链接上一些常用布局还有你那些漂亮图图的索引,这样
> 大家好找,现在的例子都太简单了

- 官方的展示中,有太多漂亮的样例了,俺的不算什么的,,,


>
>
> 感谢你的推荐,就是从你那里知道这个工具的,但是真正画的时候
> 可能会用tikz,因为他能自定义的东西的,自动化的东西也多,当然
> 如果有了一些技巧,graphviz会事半功倍的
>

- 习惯的工具才产生效率!
- TikZ 是基于 TeX 的,是通用图形制作脚本
- dot 只是关系图等5种特定类型图的脚本,不能相比的
- 所以,适合的场景使用 dot 比一切都使用 TikZ 都是可行的,,,

Reply all
Reply to author
Forward
0 new messages