den*_*ufa 27 python matplotlib ipython networkx ipython-notebook
我正在尝试在NetworkX中绘制任何图形,但什么都没有,甚至没有错误:
import networkx as nx
import matplotlib.pyplot as plt
g1=nx.petersen_graph()
nx.draw(g1)
Run Code Online (Sandbox Code Playgroud)
unu*_*tbu 38
添加到最后:
plt.show()
Run Code Online (Sandbox Code Playgroud)
import networkx as nx
import matplotlib.pyplot as plt
g1 = nx.petersen_graph()
nx.draw(g1)
plt.show()
Run Code Online (Sandbox Code Playgroud)
从plt.ion()已调用的交互式shell运行时,plt.show()不需要.这可能是很多例子中省略的原因.
如果从脚本(plt.ion()尚未调用的地方)运行这些命令,plt.show()则需要这些命令.plt.ion()可以用于交互式会话,但不建议用于脚本.
在ipython笔记本中,只需输入魔法
%matplotlib inline
Run Code Online (Sandbox Code Playgroud)
要么
%matplotlib notebook
Run Code Online (Sandbox Code Playgroud)
您可以使用 jupyter Notebook 轻松绘制networkx图表。请参阅第一个示例。
或者,您可以使用它Bokeh来绘制图表,这增加了有用的功能。该软件包holoviews使得使用散景绘制图表变得更加简单。它添加了诸如自动突出显示和悬停在节点上时显示标签等功能。然而,编辑颜色等似乎是一个问题。
%pylab inline
# `pylab notebook` # for interactive plots
import pandas as pd
import networkx as nx
import holoviews as hv
G=nx.Graph()
ndxs = [1,2,3,4]
G.add_nodes_from(ndxs)
G.add_weighted_edges_from( [(1,2,0), (1,3,1) , (1,4,-1) , (2,4,1) , (2,3,-1), (3,4,10) ] )
nx.draw(G, nx.spring_layout(G, random_state=100))
Run Code Online (Sandbox Code Playgroud)
这是散景和全息视图的示例:
hv.extension('bokeh')
%opts Graph [width=400 height=400]
padding = dict(x=(-1.1, 1.1), y=(-1.1, 1.1))
hv.Graph.from_networkx(G, nx.layout.spring_layout).redim.range(**padding)
Run Code Online (Sandbox Code Playgroud)
您应该尝试一下并将其绘制在笔记本上以查看差异。
| 归档时间: |
|
| 查看次数: |
13415 次 |
| 最近记录: |