[英]Plotting undirected graph in python using networkx
我正在使用networkx在python中繪制圖形。 但是,我的輸出太密集了。 有什么方法可以稀疏圖嗎? 下面是我在python中的命令。
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()
您也可以通過PyDot (我更喜歡這一點)或PyGraphviz嘗試Graphviz 。
如果您對發布就緒的結果感興趣,可以使用工具鏈networkx
> pydot
+ dot
-> dot2tex
+ dot
-> dot2texi.sty
> TikZ
。 除了這個脆弱的工具鏈之外,您還可以使用nx2tikz
直接導出到TikZ
(我已經編寫了它,所以我有偏見),並且可以使用最近相對於TikZ
添加的圖形布局算法。
在我從此處的文檔中檢查了一些信息之后: http : //networkx.github.io/documentation/latest/reference/drawing.html#module-networkx.drawing.layout
我將布局格式更改為
pos=nx.circular_layout(self.G, scale=5)
而且有效!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.