微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用NetworkX在Jupyter Notebook上显示图

如何解决使用NetworkX在Jupyter Notebook上显示图

我正在尝试使用networkx软件包在python中绘制一个随机生成的锦标赛,但是jupyter笔记本在运行时不显示任何内容,我的图形已正确加载,因为我可以调用边数等,因此只需绘制部分无效。我在这里搜索了答案,最接近的是在调用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笔记本的开头添加以下内容

%matplotlib inline

这将使创建的绘图显示在笔记本本身中

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。