这次尝试使用代码在LaTex中绘制树状图,然而过程竟然颇为曲折。于是作此小记。
tikz
最初找到了这个包,于是使用其下的tikzpicture进行树状图绘制。
\node(root) [circle, draw]{$1.00$}
child{node(nJOM_JMP)[circle, draw, below left = of root]{0.13}
child {node [below left = of nJOM_JMP]{JOM}}
child {node [below right = of nJOM_JMP]{JMP}}
}
child {node(nSHR_STP__CIL__STO) [circle, draw, below right = of root]{0.09}
child {node (nSHR_STP__CIL)[circle, draw, below left = of nSHR_STP__CIL__STO]{0.04}
child { node(nSHR_STP) [circle, draw,below left = of nSHR_STP_CIL]{0.02}
child {node [below left = of nSHR_STP]{SHR}}
child {node [below right = of nSHR_STP]{STP}}
}
child {node[below right = of nSHR_STP__CIL]{CIL}}
}
child {node[below right = of nSHR_STP__CIL__STO] {STO}}
}
;
感觉代码结构结合缩进可以很清晰,然而编译之后发现不同的Sibling节点竟然会重叠。(不知道作者为什么不写个BFS遍历一下......这种问题很好解决吧?)
一番搜索之后,发现解决方案是手动调整距离......这于我的初衷大相径庭(本来使用LaTex就是要自动化布局,否则还不如用Word。而且这样写真的很丑,且难以推广(因为我习惯写脚本生成表格和树的代码)。)
于是更换解决方案。
网友评论