簡體   English   中英

用 networkX 和 matplotlib 繪制一個巨大的圖形

[英]Drawing a huge graph with networkX and matplotlib

我正在使用 networkX 和 matplotlib 繪制一個包含大約 5K 個節點的圖形。 matplotlib 的 GTK 窗口具有縮放和可視化圖形的工具。 有什么辦法,我可以保存一個放大的版本以便以后進行適當的可視化?

import matplotlib.pyplot as plt
import networkx as nx

pos=nx.spring_layout(G)   #G is my graph

nx.draw(G,pos,node_color='#A0CBE2',edge_color='#BB0000',width=2,edge_cmap=plt.cm.Blues,with_labels=True)
#plt.show()
plt.savefig("graph.png", dpi=500, facecolor='w', edgecolor='w',orientation='portrait', papertype=None, format=None,transparent=False, bbox_inches=None, pad_inches=0.1) 

您有兩個簡單的選擇:

提高 DPI

plt.savefig("graph.png", dpi=1000)

(較大的圖像文件大小)

另存為 PDF

plt.savefig("graph.pdf")

這是最好的選擇,因為最終的圖形沒有被光柵化。 理論上,您應該能夠無限放大。

雖然不在 GTK 中,但您可能想查看NetworkX Viewer

你可能想看看這個:

plt.savefig("name.svg")

質量很棒。 盡管 dpi 選項仍然有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM