2017-02-17 62 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直列