dot图向func_dot发展的个人思考
ttt999 = '''
digraph app_graph000 {
graph [compound = true rankdir = LR]
node [fontsize = 11 fontname = "SimSun" shape = box]
edge [fontname = "SimsSun" shape = box]
"广义注释"
"单行"
"多行"
"广义点"
"子图"
"点"
"边"
"实线边:表示一次二元运算"
"虚线边:表示半次二元运算"
subgraph cluster_0 {
graph [compound =true style=dashed]
node [fontsize = 11 fontname = "SimSun" shape = box]
edge [fontname = "SimsSun" shape = box]
label = ""
}
"注释的内容" [shape=none, margin=0, label = <
<table width="100%" border="1" cellspacing="0" cellpadding="1" bgcolor="white">
<tr>
<td align="center"><b>name</b></td> <!--<b>为黑体-->
<td align="center"><b>show</b></td>
<td align="center"><b>输入方法</b></td>
<td align="center"><b>exec</b></td>
</tr>
<tr>
<td port="here1">双斜杠开头</td><td>隐藏文本</td><td>文本编辑</td><td>v?字</td>
</tr>
<tr>
<td port="here2">双斜杠内的两米字号内</td><td>隐藏文本</td><td>文本编辑</td><td>w?字</td>
</tr>
</table>>]
"子图的内容" [shape=none, margin=0, label = <
<table width="100%" border="1" cellspacing="0" cellpadding="1" bgcolor="white">
<tr>
<td align="center" port="子图的内容_here"><b>name</b></td> <!--<b>为黑体-->
<td align="center"><b>show</b></td>
<td align="center"><b>输入方法</b></td>
<td align="center"><b>exec</b></td>
</tr>
<tr>
<td>cluster_name</td><td>sub+graph</td><td>(含子图所有信息的)文本编辑或路径</td><td>一个虚线方框?域</td>
</tr>
</table>>]
"点的内容" [shape=none, margin=0, label = <
<table width="100%" border="1" cellspacing="0" cellpadding="1" bgcolor="white">
<!--border单元格边;cellspacing单元格间距:单元格与单元格之间的距离;cellpadding单元格边距:单元格里面的内容与边的距离。-->
<!--HTML 转义字符:在 HTML 中拥有特殊含义的字符,比如小于号,大于号,
如果希望浏览器正确地显示这些字符,必须在 HTML 源码中插入字符实体。
字符实体有三部分:一个和号 (&),一个实体名称,或者 # 和一个实体编号,以及一个分号 (;)。-->
<tr>
<td align="center" port="点的内容_here"><b>name</b></td> <!--<b>为黑体-->
<td align="center"><b>show</b></td>
<td align="center"><b>输入方法</b></td>
<td align="center"><b>exec</b></td>
</tr>
<tr>
<td>str</td><td>str</td><td>文本编辑</td><td>一个实线方框?域</td>
</tr>
<tr>
<td>img(png,jpg,bmp)</td><td>img</td><td>拖入指定区域</td><td>一个实线方框?域</td>
</tr>
<tr>
<td>formula_name</td><td>formula_tex</td><td>tex格式文本编辑</td><td>一个实线方框?域</td>
</tr>
<tr>
<td>table_name</td><td>①html-like label<br/>②nohtml</td><td>①html格式文本编辑<br/>②【弃用】</td><td>一个实线方框?域</td>
</tr>
</table>>]
"广义注释" -> "单行" [label=""]
"广义注释" -> "多行" [label=""]
"单行" -> "注释的内容":here1 [label=""]
"多行" -> "注释的内容":here2 [label=""]
"广义点" -> "子图" [label=""]
"子图" ->"子图的内容":"子图的内容_here" [label=""]
"广义点" -> "点" [label=""]
"点" ->"点的内容":"点的内容_here" [label=""]
"边" -> "实线边:表示一次二元运算" [label=""]
"边" -> "虚线边:表示半次二元运算" [label=""]
}
'''
dot = graphviz.Source(ttt999)
dot.render(outfile='app_graph000.png')
dot
结果