Ebr*_*owi 4 python matplotlib igraph ipython-notebook jupyter-notebook
与此问题类似,我想使用以下代码从单个 ipython-notebook 单元格中绘制多个图形:
[1]:
%matplotlib inline
import igraph # it is `pip install python-igraph` on py2
import matplotlib.pyplot as plt
import numpy as np
[2]:
# draws a graph successfully
igraph.plot(igraph.Graph.Erdos_Renyi(10, .5))
[3]:
for p in np.arange(.3, .8, .1):
g = igraph.Graph.Erdos_Renyi(10, p)
igraph.plot(g)
Run Code Online (Sandbox Code Playgroud)
如何从[3]
笔记本上的单元格显示多个图形?
如果我想绘制一些像这样的 matplotlib 图表,似乎可以使用这个解决方案:
[4]:
for p in np.arange(.3, .8, .1):
g = igraph.Graph.Erdos_Renyi(10, p)
plt.loglog(sorted(g.degree(), reverse=True), marker='o')
plt.show()
Run Code Online (Sandbox Code Playgroud)
但这不适用于 igraph 图 AFAICS。有什么方法可以转换igraph.drawing.Plot
为更熟悉 matplotlib 的对象吗?
我最终得到了这样的解决方案:
from IPython.core.display import display, SVG
for p in np.arange(.3, .8, .1):
g = igraph.Graph.Erdos_Renyi(10, p)
print(p)
display(SVG(igraph.plot(g)._repr_svg_()))
Run Code Online (Sandbox Code Playgroud)
同样可用于任何目的,支持_repr_svg_()
或_repr_png_()
所以这不是的igraph-蟒的限定。
归档时间: |
|
查看次数: |
1033 次 |
最近记录: |