使用 NetworkX 在 Jupyter Notebook 上显示有向图

Using NetworkX to show a digraph on Jupyter Notebook

我正在尝试使用 networkx 包在 python 中绘制一个随机生成的锦标赛,但是 jupyter notebook 在 运行 上没有显示任何内容,我的图表已正确加载,因为我可以调用边数等,只是绘图部分不起作用。我在这里搜索了一个答案,最接近的是在调用 nx.draw(G) 函数后添加 plt.show(),但这并没有解决我的问题。

欢迎任何帮助!

我的参考代码:

import networkx as nx
import matplotlib.pyplot as plt
import numpy as np


SIZE=10

T = nx.DiGraph() 
A = np.zeros((SIZE,SIZE))

# GENERATING AN ADJACENCY MATRIX FOR A RANDOM TOURNAMENT

for i in range(SIZE):
    for j in range(i):
        if i==j:
            pass
        else:
            if (np.random.binomial(n=1,p=0.5,size=1)==1)[0]:
                A[i,j]=1
            else:
                A[j,i]=1
            
# ADDING EDGES TO THE GRAPH
                
for i in range(SIZE): 
    for j in range(SIZE): 
        if A[i][j] == 1: 
            T.add_edge(i,j) 
            


# TRYING TO PLOT THE GRAPH

nx.draw(T)
plt.show()

您需要将以下内容添加到您的 jupyter notebook 的开头

%matplotlib inline

这将导致创建的图显示在笔记本本身中