Pig00 2011-07-11
twopi命令可用于绘制DOT语言脚本描述的图形,它生成放射状的图形(filter for radial layouts of graphs)。twopi是DOT图形描述语言工具包Graphviz的其中一个,本系列的“我使用过的Linux命令之dot - 绘制DOT语言脚本描述的图形”讨论过dot命令。下面是维基百科关于Graphviz的说明:
dot
一个用来将生成的图形转换成多种输出格式的命令行工具。其输出格式包括PostScript,PDF,SVG,PNG,含注解的文本等等。
neato
用于sprintmodel的生成(在MacOS版本中称为energyminimized)。
twopi
用于放射状图形的生成
circo
用于圆形图形的生成。
fdp
另一个用于生成无向图的工具。
dotty
一个用于可视化与修改图形的图形用户界面程序。
lefty
一个可编程的(使用一种被EZ影响的语言[4])控件,它可以显示DOT图形,并允许用户用鼠标在图上执行操作。Lefty可以作为MVC模型的使用图形的GUI程序中的视图部分。twopi命令的输入内容必须是UTF-8编码的,所以可能需要把输入文件转换成UTF-8的,下面简单介绍下iconv编码转换工具的使用。
可以参看本系列中的“我使用过的Linux命令之iconv - 字符编码转换工具”。
格式:iconv -f <source_encoding> -t <dest_encoding> <text_file>
将<text_file>指定的文本文件,由<source_encoding>编码方式转换为<dest_encoding>编码方式。
输出将显示在标准输出上,可以使用重定向保存到另外的文件中。
格式:iconv -f <source_encoding> -t <dest_encoding> <text_file> -o <output_file>
与上面大体相似,增加了-o <output_file>部分,将转换结果直接保存在<output_file>指定的文件中。
格式:twopi -T<output_format> <gv_file> -o<output_file>
将<gv_file>指定的DOT源文件,生成<output_format>格式的放射状图形,保存到<output_file>指定的文件中。
[root@jfht ~]# cat ehr_object.gv
graphG{
ranksep=3;
"员工\nehr_staff_info"--"民族\nehr_nation_info"[taillabel="n",label="nation_id",headlabel="1"];
"员工\nehr_staff_info"--"血型\nehr_blood_type"[taillabel="n",label="blood_type",headlabel="1"];
"员工\nehr_staff_info"--"婚姻状况\nehr_marital_status"[taillabel="n",label="marital_status",headlabel="1"];
"员工\nehr_staff_info"--"健康状况\nehr_health_state"[taillabel="n",label="health_state",headlabel="1"];
"员工\nehr_staff_info"--"地区信息\nehr_region_info"[taillabel="n",label="home_region",headlabel="1"];
"员工\nehr_staff_info"--"地区信息\nehr_region_info"[taillabel="n",label="\nwork_region",headlabel="1"];
"履历\nehr_career_info"--"员工\nehr_staff_info"[taillabel="n",label="staff_id",headlabel="1"];
}
[root@jfht~]#iconv-fgbk-tutf8ehr_object.gv>ehr_object_utf8.gv;twopi-Tgifehr_object_utf8.gv-oehr_object.gif
[root@jfht~]#fileehr_object*
ehr_object.gif:GIFimagedata,version89a,762x665
ehr_object.gv:ISO-8859text
ehr_object_utf8.gv:UTF-8Unicodetext
[root@jfht ~]#更多示例查看相关资料啦。
【1】维基百科 Graphviz
http://zh.wikipedia.org/wiki/Graphviz
【2】一直等你 使用 graphviz 形象化有向图
http://hi.baidu.com/einyboy/blog/item/148bd68ed9ec6be6f11f367c.html
【3】横行青海夜带刀用graphviz画图
http://abruzzi.iteye.com/blog/433278返回 我使用过的Linux命令系列总目录