python - graphviz 可以将图形约束到一定宽度吗?
问题描述
我正在使用 python 中的 graphviz 来绘制日文汉字及其关系。我将输出导出为 svg 并使用 sfdp 作为渲染引擎。输出大致为正方形 (3000x3000)。我想知道是否有任何方法可以指定约束,以便输出更像是一个垂直矩形(例如 5000x1000)而不是正方形。似乎尺寸参数主要作用于结果图像的比例,而不是节点本身的位置。但是我有很多不同的连接组件,所以应该很容易移动它们。我想做的事是不可能的吗?谢谢!
解决方案
尝试使用ratio
属性:
...
如果 ratio 是数字,则将其作为所需的纵横比。然后,如果实际的纵横比小于所需的比例,则将绘图高度按比例放大以达到所需的比例;如果实际比例大于所需比例,则按比例放大绘图宽度。
因此,如果原始图形是这样的:
添加graph [ratio="1.5"]
属性将使其如下所示:
UPD:还要注意属性如何与ratio
属性配对使用size
,也许组合最适合您。我发布的链接上的比率文档中的详细说明。
推荐阅读
- c++ - 编写复制构造函数和赋值运算符的正确方法
- javascript - 如何在 localStorage 过期之前停止倒计时?
- sql - 有人可以帮我吗?我只是一个初学者
- rxjs - RxJS 的真实世界示例是什么?
- mysql - 需要在这个 shellscript 中找到错误来为数据库注册用户
- javascript - Android Javascript 接口无法接收回调函数
- javascript - 使用包装器 javascript 分组
- machine-learning - 在训练数据上使用 SMOTE
- python - 尝试通过python脚本打开png文件时,Applescript给出错误权限被拒绝
- javascript - 如果对象的类型只是“对象”,如何在 DevTools 内存快照中找到特定对象?