我使用Python进行社交网络分析,非常简单,并且作为新手(对于SNA和Python)。
在我的Mac上使用终端绘制图形时,我已经尝试了所有方法,但仍然只能绘制节点和边缘,但没有节点标签或旁边的节点。
我应该使用哪些脚本来显示标签?
>>> import networkx as nx
>>> import networkx.generators.small as gs
>>> import matplotlib.pyplot as plt
>>> g = gs.krackhardt_kite_graph()
>>> nx.draw(g)
>>> plt.show()
答案 0 :(得分:3)
尝试使用draw_networkx
:
import networkx as nx
import networkx.generators.small as gs
import matplotlib.pyplot as plt
g = gs.krackhardt_kite_graph()
nx.draw_networkx(g)
plt.show()
这导致:
with_labels
默认为True
,因此无需指定
答案 1 :(得分:3)
nx.draw
,但为其赋予参数with_labels = True
。 (对于nx.draw
,您需要将with_labels
设置为True
,但对于nx.draw_networkx
,默认为True
。
import networkx as nx
import networkx.generators.small as gs
import matplotlib.pyplot as plt
g = gs.krackhardt_kite_graph()
nx.draw(g,with_labels=True)
plt.savefig('tmp.png')
请注意,有一个错误,有时plt.show()不会显示标签。从我所能说的,它不是在networkx中,而是与渲染有关。它保存得很好,所以我并不担心会详细跟进它。它出现在我的macbook上使用ipython。不确定它是什么其他系统。更多细节见pylab/networkx; no node labels displayed after update