Почему я не могу построить ребра networkx в методе iplot_mpl () - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь построить график, используя библиотеку networkx.Кроме того, я хочу построить его как интерактивную фигуру с помощью plotly в Jypyter, поэтому сначала я изменил демонстрационный код , чтобы нарисовать статический график, используя 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)

Заранее спасибо за ваши комментарии!

...