我正在使用networkx在python中绘制图形。但是,我的输出太密集了。有没有办法稀疏图表?下面是我在python.Thanks中的命令
pos=nx.spring_layout(self.G)
nx.draw_networkx_nodes(self.G,pos)
edge_labels=dict([((u,v,),d['weight'])
for u,v,d in self.G.edges(data=True)])
nx.draw_networkx_labels(self.G,pos, font_size=20,font_family='sans-serif')
nx.draw_networkx_edges(self.G,pos)
plt.axis('off')
#nx.draw_networkx_labels(self.G,pos, font_size=20,font_family='sans-serif')
nx.draw_networkx_edge_labels(self.G,pos,edge_labels=edge_labels)
nx.draw(self.G,pos, edge_cmap=plt.cm.Reds)
plt.show()
答案 0 :(得分:1)
您也可以通过Graphviz(我更喜欢这个)或PyDot尝试PyGraphviz。
如果您对发布就绪结果感兴趣,可以使用工具链networkx
- > pydot
+ dot
- > dot2tex
+ dot
- > dot2texi.sty
- > TikZ
。您可以使用nx2tikz
直接导出到TikZ
而不是这个脆弱的工具链(我已经写过它,所以我有偏见)并使用相对较强的图形布局算法最近添加到TikZ
。
答案 1 :(得分:0)
在我查看文档中的一些信息之后:http://networkx.github.io/documentation/latest/reference/drawing.html#module-networkx.drawing.layout
我将布局格式更改为
pos=nx.circular_layout(self.G, scale=5)
它有效!