Ошибка атрибута: модуль «matplotlib.cbook» не имеет атрибута «_check_in_list»

#python-3.x #matplotlib

Вопрос:

Приведены данные по этой ссылке:

Я пытаюсь построить его с помощью matplotlib :

 import pandas as pd
import matplotlib.pyplot as plt

df['Month'] = pd.to_datetime(df['Month'], infer_datetime_format = True)
df = df.set_index('Month',inplace=False)    
# plot graph
plt.xlabel('date')
plt.ylabel('trafic flow count')
plt.plot(df)
 

Но это вызывает следующую ошибку:

 Traceback (most recent call last):

  File "<ipython-input-94-36d5bf32b0eb>", line 43, in <module>
    plt.xlabel('date')

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py", line 1512, in xlabel

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py", line 984, in gca
    _pylab_helpers.Gcf.set_active(ax.figure.canvas.manager)

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/figure.py", line 1817, in gca
    self.clf(keep_observers=keep_observers)

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/figure.py", line 1239, in add_subplot
    projection_class, kwargs, key = 

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/axes/_subplots.py", line 77, in __init__
    """Change subplot geometry, e.g., from (1, 1, 1) to (2, 2, 3)."""

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/axes/_base.py", line 523, in __init__
    self.set_yscale(yscale)

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/axes/_base.py", line 1080, in cla
    if mpl.rcParams['ytick.minor.visible']:

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/axes/_base.py", line 2710, in grid
    for _axis in self._get_axis_list():

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/axis.py", line 1453, in grid

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/axis.py", line 866, in set_tick_params
    if 'direction' in kw:

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/axis.py", line 681, in __get__
    self.axes = axes

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/axis.py", line 1792, in _get_tick
    **kwargs : `~.text.Text` properties.

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/axis.py", line 176, in __init__
    ("_get_text1", "label1"),

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/axis.py", line 474, in _get_tick1line
    self._loc = loc

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/lines.py", line 397, in __init__
    self._invalidy = True

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/markers.py", line 227, in __init__
    self.set_fillstyle(fillstyle)

  File "/Users/x/anaconda3/lib/python3.6/site-packages/matplotlib/markers.py", line 264, in set_fillstyle
    cbook._check_in_list(self.fillstyles, fillstyle=fillstyle)

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

Кто-нибудь может помочь? Большое спасибо заранее.

Комментарии:

1. Эта проблема не поддается воспроизведению. Какая версия matplotlib и панд? В командной строке conda выполните conda update --all и выберите y для обновления.

2. Панды: 1.1.4; matplotlib: 2.2.2, я использовал pip3 их для установки.

3. Нет, не делай этого. Я вижу, что вы используете дистрибутив anaconda. Вы улучшите свою среду, используя pip для установки / обновления пакетов, которые уже являются частью anaconda. Правильный путь-с conda update --all помощью .

4. Похоже, что обновление пакетов conda происходит очень медленно. Так что я привык использовать пип.

5. Это потому, что conda проверяет все зависимости для среды. Как я уже сказал, не используйте pip для обновления / переустановки пакетов, уже имеющихся в дистрибутиве anaconda. Весьма вероятно, что вам потребуется удалить / переустановить Anaconda.