gpt4 book ai didi

python - 从单个 jupyter/ipython 单元绘制多个 python-igraph 图

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:30 24 4
gpt4 key购买 nike

Similarly to this question ,我想使用以下代码从单个 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)

如何在笔记本上显示 [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()

但这不适用于 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_()))

同样可以用于任何支持 _repr_svg_()_repr_png_() 的对象,所以到目前为止这不是 python-igraph 的限制。

关于python - 从单个 jupyter/ipython 单元绘制多个 python-igraph 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45015746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com