Differences between revisions 6 and 10 (spanning 4 versions)
Revision 6 as of 2006-02-15 07:25:39
Size: 3780
Editor: ZoomQuiet
Comment:
Revision 10 as of 2009-12-25 07:12:32
Size: 4810
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 19: Line 19:
Line 32: Line 33:
 attachment:sample.png  {{attachment:sample.png}}
Line 49: Line 50:
 * 自由字体不多:[http://www.debian.org/intl/zh/software#ToC3 Debian组织的中文字体]  * 自由字体不多:[[http://www.debian.org/intl/zh/software#ToC3|Debian组织的中文字体]]
Line 80: Line 81:
==== M$中的另种解决 ====
[[http://www.blogjava.net/cap/archive/2006/03/16/7895.html|tech.cap::我在一望无际的路上]]分享
{{{
digraph G {
Line 81: Line 86:
        graph [
         ratio="auto"
         label="hello ,我的测试"
         labelloc=t
            fontname="simyou.ttf"
        ];
     node [
      shape="box",
      style="dotted",
      fontname="simyou.ttf",
      fontsize="10"
     ];
     edge [ fontname="simyou.ttf"];

        "张三"
        [
         peripheries=2,
         style=filled,
         label="市民张三"
         color="#eecc80"
     ];
 "李四"[
  style=filled,
         label="农民李四"
         color="#eecc80"
 ];
 "王五"[
  style=filled,
         label="农民王五"
         color="#eecc80"
 ];
        "张三"->"李四"[label="亲戚"];
 "张三"->"王五"[label="朋友"];
 "李四"->"王五"[label="不认识"];
  
}
}}}
{{http://www.blogjava.net/images/blogjava_net/cap/2217/o_cap.jpg}}
Line 82: Line 125:
 * 不过 ["limodou"] 在["Meteor"]中提供了一个想法[http://wiki.woodpecker.org.cn/moin/Otter_e6_a8_a1_e6_9d_bf_e6_b5_8b_e8_af_95_e8_ae_b0_e5_bd_95#head-c8bdadd9bf5177726cce95e7ee525cbdb0ac6e9c 模板关系图]  * 不过 [[limodou]] 在[[Meteor]]中提供了一个想法
'''[[http|//wiki.woodpecker.org.cn/moin/Otter%e6%a8%a1%e6%9d%bf%e6%b5%8b%e8%af%95%e8%ae%b0%e5%bd%95?highlight=%28otter%29#head-b184da7e45372e1ca064fbd6dfb82e49a5fd2929:模板关系图]]'''
Line 84: Line 128:
   * ["dotScript"] -- dot化脚本结构!    * [[dotScript]] -- dot化脚本结构!

中文输出

  • 可恨不支持中文!
    • 支持中文的,不过要在dot文件中输入utf-8编码的汉字,生成图片时也要指定字体名称。比如:
      dot -Nfontname=simsun -Tpng sample.dot -o sample.png
    • win2003(win2k)下指定字体扩展名(当然也可以用别的字体):
      dot -Nfontname=simsun.ttc -Tpng sample.dot -o sample.png
      • 原来如比!!不过,只能在命令行处指定,在脚本中使用类似:

node [fontsize=8, fontname=simhei,shape = plaintext]

来限定时,不能!!!这样一来,不同部分使用不同字体就是问题了…………

  • 提供C的源代码,可是…………想起C就烦!

sample.dot

{{{/*sample.dot*/ digraph G { PY->ZO->Zope2->CMF->Plone; ZO->Zope3; ZO->Zs;

  • Zs[label="ZODB,ZPT(等)\n...."];

PY->XML; PY->"4Suite"->XML;PY->Elements->XML; PY[label="Python语言",shape=box]; ZO[label="Zope",shape=egg]; } }}}

  • sample.png

FreeBSD 中

不同与Linux中,中文支持只需字体!其它的 graphviz 自身安装好了!

# cd /usr/ports/
(FreeBSD6.0以后使用portsnap 快捷升级产品树)
# portsnap update
# cd /usr/ports/graphics/graphviz
# make install clean
(然后安装字体)
# cd /usr/ports/chinese/fireflyttf
# make install clean
# cd /usr/ports/chinese/arphicttf
# make install clean

即可输出中文在图片中! 注意先后安装顺序! TureType 字体的使用需要一些库的支持,graphviz有自动安装的

其它TTF的D用

FreeBSD 中 dot 找不到字体的信息如下:

Error: Could not find/open font : simkai in
/usr/X11R6/lib/X11/fonts/TrueType:/usr/X11R6/lib/X11/fonts/
truetype:/usr/X11R6/lib/X11/fonts/TTF:/usr/share/fonts/True
Type:/usr/share/fonts/truetype:/usr/openwin/lib/X11/fonts/T
rueType:/usr/X11R6/lib/X11/fonts/Type1:/usr/common/share/fonts/ttf

实际的目录内容是:

#ll /usr/X11R6/lib/X11/fonts/TrueType/
lrwxr-xr-x  1 root  wheel      44 Feb 13 18:48 bkai00mp.ttf@ -> /usr/local/share/fonts/TrueType/bkai00mp.ttf
lrwxr-xr-x  1 root  wheel      44 Feb 13 18:48 bsmi00lp.ttf@ -> /usr/local/share/fonts/TrueType/bsmi00lp.ttf
lrwxr-xr-x  1 root  wheel      47 Feb 13 18:17 fireflysung.ttf@ -> /usr/local/share/fonts/TrueType/fireflysung.ttf
-rw-r--r--  1 root  wheel  789508 Feb 13 18:48 fonts.alias
-rw-r--r--  1 root  wheel   21858 Feb 13 18:48 fonts.cache-1
-rw-r--r--  1 root  wheel     467 Feb 13 18:48 fonts.dir
-rw-r--r--  1 root  wheel     467 Feb 13 18:48 fonts.scale
lrwxr-xr-x  1 root  wheel      44 Feb 13 18:48 gbsn00lp.ttf@ -> /usr/local/share/fonts/TrueType/gbsn00lp.ttf
lrwxr-xr-x  1 root  wheel      44 Feb 13 18:48 gkai00mp.ttf@ -> /usr/local/share/fonts/TrueType/gkai00mp.ttf

所以,可以直接链接M$ 中的字体到系统目录中: 比如说{{{# ln -s /home/zoomq/.fonts/simsun.ttf /usr/X11R6/lib/X11/fonts/TrueType/simsun.ttf }}} 就可以使用 simsun 来输出了!

当然的,不提倡!

M$中的另种解决

tech.cap::我在一望无际的路上分享

digraph G {

        graph [
         ratio="auto"
         label="hello ,我的测试" 
         labelloc=t
            fontname="simyou.ttf"
        ];
     node  [
      shape="box",
      style="dotted",
      fontname="simyou.ttf",
      fontsize="10"
     ];
     edge  [ fontname="simyou.ttf"];

        "张三"
        [
         peripheries=2,
         style=filled,
         label="市民张三"
         color="#eecc80"
     ];
 "李四"[
  style=filled,
         label="农民李四"
         color="#eecc80"
 ];
 "王五"[
  style=filled,
         label="农民王五"
         color="#eecc80"
 ];
        "张三"->"李四"[label="亲戚"];
 "张三"->"王五"[label="朋友"];
 "李四"->"王五"[label="不认识"];
  
}

http://www.blogjava.net/images/blogjava_net/cap/2217/o_cap.jpg

自动工具

//wiki.woodpecker.org.cn/moin/Otter%e6%a8%a1%e6%9d%bf%e6%b5%8b%e8%af%95%e8%ae%b0%e5%bd%95?highlight=%28otter%29#head-b184da7e45372e1ca064fbd6dfb82e49a5fd2929:模板关系图

  • 哈哈哈!可以让Python 自动的分析代码生成 dot 脚本通过 GraphViz 工具生产结构示意图!

  • dotScript -- dot化脚本结构!

    • 理解脚本函式调用情况;
    • 理解脚本类引用,继承情况;
    • 理解不同语言脚本的情况;

GraphVizDeepinto (last edited 2010-04-08 04:02:05 by ZoomQuiet)