Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphviz 控制位图渲染_Graphviz - Fatal编程技术网

Graphviz 控制位图渲染

Graphviz 控制位图渲染,graphviz,Graphviz,我正在努力 通过Graphviz生成要在网站中显示的图形 通过imagemap(或其他一些工具)使每个节点都可以单击 为此,我必须渲染图形 digraph {1->2;} 我应该设置什么属性来获取渲染图形的最大宽度/高度?我查看了页面,试图操纵属性,如size,但似乎对我不起作用 如何解释节点和边的pos属性 控制尺寸 正如您正确假设的那样,这可以通过修改大小来实现 以下是一些例子: digraph {1->2;} 图像尺寸:83*155px。这是具有默认设置的图形的大小

我正在努力

  • 通过Graphviz生成要在网站中显示的图形
  • 通过imagemap(或其他一些工具)使每个节点都可以单击
为此,我必须渲染图形

digraph {1->2;}
  • 我应该设置什么属性来获取渲染图形的最大宽度/高度?我查看了页面,试图操纵属性,如
    size
    ,但似乎对我不起作用
  • 如何解释节点和边的
    pos
    属性
控制尺寸 正如您正确假设的那样,这可以通过修改
大小来实现

以下是一些例子:

digraph {1->2;}
图像尺寸:83*155px。这是具有默认设置的图形的大小

digraph {size=1; 1->2;}
图像尺寸:51*96px。图像缩小到1英寸见方(96 dpi)。这是预期的行为,因为文档说明:

如果已定义,且图形较大 如果大于给定的尺寸,则图形为 均匀地缩小比例,使其适合 在给定的大小内

图像尺寸:83*155px。同样,图形已经小于2英寸,不需要缩小

digraph {size="2!"; 1->2;}
图像尺寸:103*192px。该图形按比例放大,直到其中一个尺寸等于2英寸。预期的行为,因为文档说明:

如果大小以感叹号结尾 (!),则将其视为 所需尺寸。在这种情况下,如果两者都 图纸尺寸较小 如果大于尺寸,则图形将按比例放大 均匀地直到至少一个维度 大小等于它的尺寸

解释节点和边的pos属性 我假设您的意思是xdot格式的
pos

图的xdot

digraph {1->2;}
以下是

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 "];
}
节点的位置值指定节点位置的中心。由于图形的边界框为“0,0,54108”,因此节点位置“27,18”和“27,90”在水平方向上完全居中

对于边,我猜
pos
包含边段的点,而
\u draw\u
包含B样条曲线控制点(但我不太确定)