GraphViz设置页面宽度

时间:2013-02-19 10:17:47

标签: width graphviz output

我正在使用GraphViz来确定我的C#应用​​程序中的控件位置。

但是我无法给graphViz点生成器输出宽度。

这是使用

的点文件的参数
Digraph x {
    autosize=false;
    size="25.7,8.3!";
    resolution=100;
    node [shape=rect];
    (edges definitions comes here)
     ...

但似乎对生成的纯文本文件没有影响。

我错过了设置页面宽度的东西吗?

此致

1 个答案:

答案 0 :(得分:6)

我在您的示例中添加了a -> b。这是我得到的纯文本输出:

digraph x {
    graph [autosize=false, size="25.7,8.3!", resolution=100];
    node [label="\N", shape=rect];
    graph [bb="0,0,54,108"];
    a [pos="27,90", width=0.75, height=0.5];
    b [pos="27,18", width=0.75, height=0.5];
    a -> b [pos="e,27,36.104 27,71.697 27,63.983 27,54.712 27,46.112"];
}

如您所见,sizeresolution属性包含在输出中。

您可以更改sizeresolution的值,这不会改变明文输出中的那些属性。所有节点和边的位置都相对到图形的边界框({​​{1}})。

但是,如果您决定输出 png ,graphviz将使用此信息根据您的bbsize属性缩放边界框并计算最终图像尺寸。

在此示例中,生成的png将为444 x 831像素(8.3英寸,分辨率为100 dpi,结果为830像素,顶部的像素可能是由于舍入误差)。

您可以在this answer中找到有关resolution属性和结果图片大小的更详细示例。