【发布时间】:2015-10-14 07:22:23
【问题描述】:
我使用 networkx 创建了一个图表。我正在使用 graphviz 绘制图表,特别是使用这些代码行:
pos = nx.graphviz_layout(G2, prog='neato', args='-Goverlap=prism')
plt.figure(figsize=(10, 14))
nx.draw(G2, pos, node_size=sizes, alpha=1, nodelist=nodes, node_color=colors, with_labels=True, labels=labelDict, font_size=8)
该图由几个较大节点的“主干”组成,数百个较小节点连接到这些节点。
我使用args='-Goverlap=prism'(在上面的第一行代码中)来分隔图形,但这产生了一个问题。将较大的节点隔开更重要,但是由于有很多小节点,一些较大的节点最终会挤在一起。
我对解决方案的想法是生成一个仅包含较大节点的图,以确保它们的间距适当,然后将较小的节点添加到此图中,而不更改原始节点的布局。我做了一些研究,在 graphviz 中添加新节点而不更改旧节点似乎有些棘手。可以“固定”节点,但我不确定如何在 networkx 中执行此操作。
这是图表当前的样子:
【问题讨论】: