2017-02-17 24 views
12

Tôi đang cố gắng vẽ biểu đồ networkx bằng python 3.6 với sổ ghi chép Jupyter và gói mạng với anaconda. Nhưng đồ thị không vẽ theo tài liệu, tôi chỉ nhận được một thông điệp không được chấp nhận.biểu đồ vẽ biểu đồ mạng không được chấp nhận

Mã sản phẩm:

import networkx as nx 
import csv 
import matplotlib as plt 

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

nx.draw(G) 

MESSAGE:

MatplotlibDeprecationWarning: pyplot.hold bị phản đối. Hành vi trong tương lai sẽ nhất quán với cài đặt mặc định trong thời gian dài: lệnh cốt truyện thêm các thành phần mà không cần xóa các trục Trục và/hoặc Hình.

b = plt.ishold() 

hành vi trong tương lai sẽ phù hợp với mặc định lâu năm: lệnh cốt truyện thêm các yếu tố mà trước hết không xóa Axes và/hoặc hình.

plt.hold(b) 

warnings.warn ("axes.hold bị phản đối, sẽ được loại bỏ trong 3.0")

+0

bạn đã quản lý để sửa lỗi này như tôi đang làm cùng – AngusTheMan

+0

tôi đã đi vào mã networkx và đặt một # ở phía trước của dòng với '.hold()'. Thông báo lỗi sẽ cho bạn biết dòng nào đang gây ra sự cố nhưng tìm kiếm sẽ tìm tất cả. Đã không cho tôi bất kỳ vấn đề gì kể từ đó. – TPike

Trả lời

2

tôi đã có thể thoát khỏi được thông báo bằng cách vào thư viện networkx và đơn giản đặt # ở phía trước các dòng tạo ra lỗi.

tôi sẽ suy ra .hold() chức năng là không còn cần thiết, cũng không cần ot được thay thế

22

Để tránh cảnh báo này, tôi chỉ đơn giản là thay thế

nx.draw(G) 

bởi

nx.draw_networkx(G) 

Python của tôi là 3,4, Jupyter '1.0.0' và networkx '1,11'.

+2

Tốt hơn, nhưng tôi vẫn nhận được "MatplotlibDeprecationWarning: Hàm is_string_like không được chấp nhận trong phiên bản 2.1." – Halberdier

+0

tốt đẹp, theo cách đó bạn nhận được các nhãn nút bị thiếu từ 'nx.draw (G)' render – joshi123

0

tôi có thể nhận được nx.draw (G) để làm việc bằng cách thêm dòng sau của lệnh:

% matplotlib inline

Các vấn đề liên quan