2017-02-17 65 views
12

我想绘制一个图表networkx使用python 3.6与Jupyter笔记本和anaconda网络包。但该图不是按照文档绘制的,我只是收到了不推荐使用的消息。networkx绘制图形不推荐使用的消息

CODE:

import networkx as nx 
import csv 
import matplotlib as plt 

G = nx.read_pajek('Hi-tech.net') 

nx.draw(G) 

消息:

MatplotlibDeprecationWarning:pyplot.hold已被弃用。 未来的行为将与长时间默认值一致: 绘图命令添加元素时不首先清除轴和/或图。

b = plt.ishold() 

未来的行为将与长时的缺省值是一致的: 情节命令添加元素,而无需首先清除 轴和/或图。

plt.hold(b) 

warnings.warn(“axes.hold已过时,将在3.0中被移除”)

+0

没有你设法解决这个问题像我在做同样的 – AngusTheMan

+0

我走进了networkx代码,并使用'.hold()'将#放在行的前面。该错误消息应该告诉你哪一行导致了问题,但是搜索将会找到它们。从那时起,我一直没有给我任何问题。 – TPike

回答

2

我能够通过进入networkx库,只是摆脱消息将#放在产生错误的行的前面。

我推断.hold()函数不再是必要的,也不需要OT代替

22

为了避免这个警告,我只是简单地替换

nx.draw(G) 

通过

nx.draw_networkx(G) 

我的Python是3.4,Jupyter'1.0.0'和networkx'1.11'。

+2

更好,但我仍然得到“MatplotlibDeprecationWarning:is_string_like函数在版本2.1中已弃用”。 – Halberdier

+0

不错,这样你就得到了'nx.draw(G)'渲染中缺少的节点标签 – joshi123

0

我能得到nx.draw(G)加入命令下面的一行工作:

%matplotlib直列