使用dot语言画树结构
现在做的依存句法分析需要形式化的显示一个句子的依存结构,之前一直打算安装pygraphviz,无奈缘分没到,一直安装不成功,所以转投Graphviz,直接用dot语言编辑
安装Graphviz
要使用Graphviz,先要在系统上安装Graphviz。Windows系统安装的方法可以查看Graphviz官网进行查看。程序安装好之后我们就可已使用了。
开始画图
树结构主要有两部分:节点(V)和边(E)
1、节点
DOT中,节点可以不用声明直接使用。每个节点首次出现的名称做为该节点的唯一标识。
属性设置:对节点可以设置的常见通用属性有shape、label、style、color、fillcolor、rank等,对于不同的形状,可能还有不同的属性可以设置,如对于多边形可以设置边数等。节点属性设置时,node用于设置默认属性(对设置位置之后的点有效),在点后面用[]设置单独一个点的属性。
2、边
边有有向边和无向边两种,无向边用于无向图,有向边用于有向图,不可混用。
属性设置:边的常见设置有style、color、weight、label、labelfontcolor、headlabel、taillabel、decorate等,对于有向边,还可以设置边的起点位置等(用n、e、s、w和相邻字母的组合表示位置)。和节点类似的,边属性设置时,用edge[]设置默认属性,在边之后用[]设置单独一条边的属性。
代码如下:
digraph edge_settings {
root -> "是" [color = "black", label = "核心成分"];
"是" -> "反对" [color = "black", label = "关系主体"];
"反对" -> "腐败" [color = "black", label = "内容"];
"是" -> "要求" [color = "black", label = "类指"];
"要求" -> "贯彻" [color = "black", label = "限定"];
"贯彻" -> "执行" [color = "black", label = "接续"];
"贯彻" -> "党的基本路线" [color = "black", label = "内容"];
"贯彻" -> "的" [color = "black", label = "'的'字依存"];
"要求" -> "必然" [color = "black", label = "限定"];
}