我试着
为此,我必须渲染图形
size但它似乎对我不起作用.pos节点和边缘的属性?正如您正确假设的那样,这可以通过修改来完成size.
这里有些例子:
digraph {1->2;}
Run Code Online (Sandbox Code Playgroud)
图像尺寸:83*155px.这是具有默认设置的图表的大小.
digraph {size=1; 1->2;}
Run Code Online (Sandbox Code Playgroud)
图像尺寸:51*96px.图像按比例缩小以适合1平方英寸(96 dpi).这是预期的行为,因为文档说明:
如果已定义且绘图大于给定大小,则绘图将按比例缩小,以使其适合给定大小.
digraph {size=2; 1->2;}
Run Code Online (Sandbox Code Playgroud)
图像尺寸:83*155px.再次预期的行为,图表已经小于2英寸,不需要按比例缩小.
digraph {size="2!"; 1->2;}
Run Code Online (Sandbox Code Playgroud)
图像尺寸:103*192px.图表按比例放大,直到其中一个尺寸等于2英寸.预期的行为,因为文档说明:
如果大小以惊叹号(!)结束,那么它将被视为所需的大小.在这种情况下,如果图纸的两个尺寸都小于尺寸,则图纸被均匀地放大,直到至少一个尺寸等于其尺寸尺寸.
我假设你的意思pos是xdot格式的值.
图的xdot
digraph {1->2;}
Run Code Online (Sandbox Code Playgroud)
如下
digraph {
node [label="\N"];
graph [bb="0,0,54,108",
_draw_="c 9 -#ffffffff C 9 -#ffffffff P 4 0 -1 0 108 55 108 55 -1 ",
xdotversion="1.2"];
1 [pos="27,90", width="0.75", height="0.5", _draw_="c 9 -#000000ff e 27 90 27 18 ", _ldraw_="F 14.000000 11 -Times-Roman c 9 -#000000ff T 27 84 0 7 1 -1 "];
2 [pos="27,18", width="0.75", height="0.5", _draw_="c 9 -#000000ff e 27 18 27 18 ", _ldraw_="F 14.000000 11 -Times-Roman c 9 -#000000ff T 27 12 0 7 1 -2 "];
1 -> 2 [pos="e,27,36.413 27,71.831 27,64.131 27,54.974 27,46.417", _draw_="c 9 -#000000ff B 4 27 72 27 64 27 55 27 46 ", _hdraw_="S 5 -solid c 9 -#000000ff C 9 -#000000ff P 3 31 46 27 36 24 46 "];
}
Run Code Online (Sandbox Code Playgroud)
节点的pos值指定节点位置的中心.由于图形的边界框是"0,0,54,108",节点位置"27,18"和"27,90"完全水平居中.
对于边缘,我想pos包含边缘线段的点,而_draw_包含B-Spline控制点(但我不是很确定).