Ошибка при рисовании графика в networkx .module 'matplotlib.pyplot' не имеет атрибута 'ishold' - PullRequest
0 голосов
/ 03 июня 2019

Я хочу построить график, используя networkx.Но модуль 'matplotlib.pyplot' не имеет атрибута 'ishold'.Я пытался использовать более ранние версии matplotlib, но это не сработало.Вчера работал тот же код, но теперь он показывает эту ошибку.Пожалуйста помоги.Я застрял.

Я пытался использовать более ранние версии matplotlib, но это не сработало.Вчера работал тот же код, но теперь он показывает эту ошибку.Пожалуйста помоги.Я застрял.

import networkx as nx
import numpy as np
import matplotlib.pyplot as plt

G = nx.Graph()
G.add_edges_from(
    [('A', 'B'), ('A', 'C'), ('D', 'B'), ('E', 'C'), ('E', 'F'),
     ('B', 'H'), ('B', 'G'), ('B', 'F'), ('C', 'G')])

val_map = {'A': 1.0,
           'D': 0.5714285714285714,
           'H': 0.0}

values = [val_map.get(node, 0.25) for node in G.nodes()]
%matplotlib inline 
nx.draw_networkx(G, cmap = plt.get_cmap('jet'), node_color = values)

nx.draw(G)
plt.show()

AttributeError                            Traceback (most recent call last)
<ipython-input-13-127734f4f34b> in <module>()
     14 values = [val_map.get(node, 0.25) for node in G.nodes()]
     15 get_ipython().magic('matplotlib inline')
---> 16 nx.draw_networkx(G, cmap = plt.get_cmap('jet'), node_color = values)
     17 
     18 nx.draw(G)

1 frames
/usr/local/lib/python3.6/dist-packages/networkx/drawing/nx_pylab.py in draw_networkx_edges(G, pos, edgelist, width, edge_color, style, alpha, edge_cmap, edge_vmin, edge_vmax, ax, arrows, label, **kwds)
    520         lw = width
    521 
--> 522     if not cb.is_string_like(edge_color) \
    523            and cb.iterable(edge_color) \
    524            and len(edge_color) == len(edge_pos):

AttributeError: module 'matplotlib.cbook' has no attribute 'is_string_like'

enter image description here

1 Ответ

0 голосов
/ 05 июня 2019

Я понизил версию matplotlib до 2.2.3, и она работает.

просто введите

pip install matplotlib == 2.2.3.

надеюсь, это поможет ~

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...