2017-02-17 18 views
12

Я пытаюсь создать диаграмму networkx с помощью python 3.6 с ноутбуком Jupyter и сетевым пакетом с anaconda. Но график не относится к документации, я просто получаю устаревшее сообщение.networkx draw graph устаревшее сообщение

КОД:

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 библиотеку и просто помещая # перед строками, которые вызвали ошибку. не

Я бы вывести функцию .Держа() больше не требуется, и не нужно невоз- можно заменить

22

Чтобы избежать этого предупреждения, я просто заменить

nx.draw(G) 

по

nx.draw_networkx(G) 

My 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 рядный