python - 用于在单个 PDF 中呈现多个 graphviz 图形的 Python 代码,每页一个
问题描述
考虑 Python 中定义的两个 graphviz 有向图 g1 和 g2,如下所示:
from graphviz import Digraph
g1 = Digraph(engine = "neato", node_attr={'shape':'record}, graph_attr={'splines':'ortho'})
g1.node('A')
g1.node('B')
g1.node('C')
g1.edge('A','B')
g1.edge('A','C')
g2 = Digraph(engine = "neato", node_attr={'shape':'record}, graph_attr={'splines':'ortho'})
g2.node('D')
g2.node('E')
g2.node('F')
g2.edge('D','E')
g2.edge('E','F')
g2.edge('D','F')
现在我可以使用以下方法在两个不同的 pdf 中渲染 g1 和 g2:
g1.render('g1_output.gv',view = 'True')
g2.render('g2_output.gv',view = 'True')
但我想将 g1 和 g2 都呈现在一个 pdf 中,每页一个。尽管我可以在此链接中找到一个点脚本来执行此操作(将具有多个图形的 DOT 脚本渲染为 PDF 每页一个图形),但我找不到在 Python 中执行相同操作的方法。此外,我使用的是neato引擎而不是dot。此外,我不能转移到点,因为正交样条是必要的并且点不支持它们。
另一种解决方案是在两个不同的 pdf 中渲染 g1 和 g2 并稍后合并它们,但我想知道是否有比这更好的解决方案。
PS:此处定义的图表仅用于说明目的,与原始图表不同。
解决方案
推荐阅读
- arm - 如何在 Keil 上从头开始构建 Cortex M-7 项目?
- java - 无法验证连接池连接包装物理连接
- python - 在python中将用户输入数据插入sqlite3
- r - 减少 ggplot2 中误差线上限的大小
- javascript - 如何计算Leaflet中圆半径的KM?
- pandas - KeyError:'[] not found in axis' 在具有相同长度的数据帧中
- chat - 动态加入和离开 pubnub 频道的最佳方式是什么
- angular - ng-packagr Angular 11 错误:类型 AppModule 没有“ɵmod”属性
- xpath - 从 Google 表格中的 Yahoo Finance 导入股票价格
- java - 根据进度更改 JProgressBar 中的 ColorUIResource