Как подавить предупреждение matplotlib?

Я получаю предупреждение от matplotlib каждый раз, когда я import pandas:

/usr/local/lib/python2.7/site-packages/matplotlib/__init__.py:872: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.


 warnings.warn(self.msg_depr % (key, alt_key))

Как лучше всего это подавить? Все пакеты обновлены.

Conf: OSX с варевом Python 2.7.10 (по умолчанию, 13 июля 2015, 12:05:58), и pandas == 0.17.0 и matplotlib == 1.5.0

12 голосов | спросил nuin 19 42015vEurope/Moscow11bEurope/MoscowThu, 19 Nov 2015 02:24:52 +0300 2015, 02:24:52

4 ответа


0

Вы можете отключить все предупреждения:

import warnings
warnings.filterwarnings("ignore")

import pandas
ответил AndreL 24 ThuEurope/Moscow2015-12-24T14:51:09+03:00Europe/Moscow12bEurope/MoscowThu, 24 Dec 2015 14:51:09 +0300 2015, 14:51:09
0

Вы можете либо подавить предупреждающие сообщения в соответствии с предложением AndreL, либо решить эту конкретную проблему и прекратить получать предупреждающее сообщение раз и навсегда. Если вы хотите последнее, сделайте следующее.

Откройте файл matplotlibrc и найдите axes.color_cycle

axes.color_cycle : b, g, r, c, m, y, k  # color cycle for plot lines

Вы должны заменить эту строку следующим образом:

axes.prop_cycle : cycler('color', ['b', 'g', 'r', 'c', 'm', 'y', 'k'])

И предупреждающее сообщение должно исчезнуть.

ответил mairan 12 +03002016-10-12T21:23:29+03:00312016bEurope/MoscowWed, 12 Oct 2016 21:23:29 +0300 2016, 21:23:29
0

Переходите к matplotlib 1.4.3 предыдущая стабильная версия.

ответил Tes3awy 25 J0000006Europe/Moscow 2016, 03:55:01
0

Вы можете отключить предупреждение UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter., используя prop_cycle в соответствующем месте.

Например, в том месте, где вы использовали color_cycle:

matplotlib.rcParams['axes.color_cycle'] = ['r', 'k', 'c']

Замените его следующим:

matplotlib.rcParams['axes.prop_cycle'] = mpl.cycler(color=["r", "k", "c"]) 

Для большей наглядности вот пример:

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=["r", "k", "c"]) 

x = np.linspace(0, 20, 100)

fig, axes = plt.subplots(nrows=2)

for i in range(10):
    axes[0].plot(x, i * (x - 10)**2)

for i in range(10):
    axes[1].plot(x, i * np.cos(x))

plt.show()

 введите описание изображения здесь

ответил Steffi Keran Rani J 20 22018vEurope/Moscow11bEurope/MoscowTue, 20 Nov 2018 19:15:45 +0300 2018, 19:15:45

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132