我正在使用来自python的graphviz绘制日文汉字及其关系。我将输出导出为svg,并使用sfdp作为渲染引擎。 输出大致为正方形(3000x3000)。我想知道是否有任何方法可以指定约束,以使输出更像是垂直矩形(例如5000x1000)而不是正方形。 似乎大小参数主要在生成的图像的比例上起作用,而不是在节点本身的位置上起作用。但是我有很多不同的connexe组件,因此应该很容易移动它们。 我要做什么是不可能的? 谢谢!
答案 0 :(得分:1)
尝试使用ratio
属性:
...
如果比例为数字,则将其作为所需的宽高比。然后,如果实际长宽比小于所需的比例,则按比例增加绘图高度以达到所需的比例;如果实际比例大于所需比例,则将图纸宽度放大。
所以如果原始图形是这样的:
添加// Following the example to the question
financingPurposeList.sort(function(a, b){
return a.code.length - b.code.length;
});
属性将使其看起来像这样:
UPD:还要注意print("number: " + str(123 % 122, 97))
number: 98
属性和graph [ratio="1.5"]
属性是如何结合使用的,也许这种组合最适合您。比率文档中有关我发布的链接的详细说明。
答案 1 :(得分:0)
sfdp
由于使用了弹簧模型,因此倾向于生成正方形图。但是,如果使用dot
,则会添加诸如rank
和rankdir
之类的属性,以使图形更符合您的意愿。
您可以参考Node, Edge and Graph Attributes来了解sfdp支持哪些属性。