为什么我无法在plotlot的iplot_mpl()方法中绘制networkx的边缘

时间:2019-05-15 22:08:03

标签: python plotly networkx

我正在尝试使用networkx库绘制图形。另外,我想通过plotly中的Jypyter将其绘制为交互式图形,因此首先我修改了demo code以使用networkx绘制静态图形(请参见顶部下图),然后我使用iplot_mpl()方法通过plotly将图转换为交互式图。但是,图中的边缘没有显示(请参见底部)。

net

代码如下,

from __future__ import division
import matplotlib as mpl
import matplotlib.pyplot as plt
import networkx as nx
from plotly.offline import (init_notebook_mode,
                            iplot_mpl)


init_notebook_mode(connected=True)

G = nx.generators.directed.random_k_out_graph(10, 3, 0.5)
pos = nx.layout.spring_layout(G)

node_sizes = [3 + 10 * i for i in range(len(G))]
M = G.number_of_edges()
edge_colors = range(2, M + 2)
edge_alphas = [(5 + i) / (M + 4) for i in range(M)]

fig = plt.figure()

nodes = nx.draw_networkx_nodes(G, pos, node_size=node_sizes, node_color='blue')
edges = nx.draw_networkx_edges(G, pos, node_size=node_sizes, arrowstyle='->',
                               arrowsize=10, edge_color=edge_colors,
                               edge_cmap=plt.cm.Blues, width=2)
# for the top figure
plt.show()

# for the bottom figure
iplot_mpl(fig)

我还尝试使用由draw_networkx()draw_networkx_nodes()插入的draw_networkx_edges()。不幸的是,优势仍然没有显现出来。此外,我还在ax方法中设置了draw_networkx()参数,结果是一样的...

fig, ax = plt.subplots()
nx.draw_networkx(..., ax=ax)

提前感谢您的评论!

0 个答案:

没有答案