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