Python 使用pydot在Graphviz中垂直放置节点
我通过pydot在Python中使用Graphviz。我正在制作的图有许多有向图簇。pydot将它们水平放置在一起,形成非常宽的图像。我如何告诉它输出最大宽度的图像,以便我可以垂直滚动?我不确定您是否能够对数据执行此操作,但如果更改节点插入图形的顺序,则会真正影响生成的图形。如果您不想向Graphviz提供任何订购信息,并且希望Graphviz尝试解决节点的最佳放置以最小化争用,请改用Graphviz的Python 使用pydot在Graphviz中垂直放置节点,python,visualization,graphviz,pydot,Python,Visualization,Graphviz,Pydot,我通过pydot在Python中使用Graphviz。我正在制作的图有许多有向图簇。pydot将它们水平放置在一起,形成非常宽的图像。我如何告诉它输出最大宽度的图像,以便我可以垂直滚动?我不确定您是否能够对数据执行此操作,但如果更改节点插入图形的顺序,则会真正影响生成的图形。如果您不想向Graphviz提供任何订购信息,并且希望Graphviz尝试解决节点的最佳放置以最小化争用,请改用Graphviz的neato。它使用spring模型来确定节点应该放置在哪里 看起来您应该能够在pydot内部使
neato
。它使用spring模型来确定节点应该放置在哪里
看起来您应该能够在pydot内部使用neato
,如:
my_graph.write('my_graph.png', prog='neato', format='png')
请参阅pydot的文档您可以做几件事
按如下方式初始化图形:
graph=pydot.Dot(graph_type='digraph',rankdir='LR')
这将设置从左到右的图形方向。通常,使用查找右属性以获得所需内容。+1我对pydot文档进行了广泛搜索,直到看到您的答案,我才意识到graphviz文档用作pydot文档。我测试了一些功能和yuo给出的链接中的参数,现在一切都清楚了。很高兴能提供帮助。我记得自己多次在这个问题上绊倒,直到我最终解决了这个问题——这个设置显然应该是默认的IMO,因为在节点中水平打印文本更有用。