pandas 如何抑制 matplotlib 警告?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/33792478/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 00:15:01  来源:igfitidea点击:

How to suppress matplotlib warning?

pythonpandasmatplotlibwarnings

提问by nuin

I am getting an warning from matplotlibevery time I import pandas:

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))

What is the best way to suppress it? All packages are up-to-date.

抑制它的最佳方法是什么?所有软件包都是最新的。

Conf: OSX with a brew Python 2.7.10 (default, Jul 13 2015, 12:05:58), and pandas==0.17.0 and matplotlib==1.5.0

Conf: OSX with a brew Python 2.7.10 (default, Jul 13 2015, 12:05:58), and pandas==0.17.0 and matplotlib==1.5.0

回答by AndreL

You can suppress all warnings:

您可以禁止所有警告:

import warnings
warnings.filterwarnings("ignore")

import pandas

回答by mairan

You can either suppress the warning messages as suggested by AndreL or you can resolve this specific issue and stop getting the warning message once and for all. If you want the latter, do the following.

您可以按照 AndreL 的建议取消警告消息,也可以解决此特定问题并一劳永逸地停止接收警告消息。如果您想要后者,请执行以下操作。

Open your matplotlibrcfile and search for axes.color_cycle. If you're getting the warning message it means that your matplotlibrcfile should show something like this:

打开您的matplotlibrc文件并搜索axes.color_cycle. 如果您收到警告消息,则意味着您的matplotlibrc文件应显示如下内容:

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

You should replace that line by this:

您应该用以下内容替换该行:

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

And the warning message should be gone.

警告信息应该消失了。

回答by Steffi Keran Rani J

You can suppress the warning UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.by using prop_cycleat the appropriate place.

您可以UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.通过在适当的位置使用prop_cycle来抑制警告。

For example, in the place you had used color_cycle:

例如,在您使用过的地方color_cycle

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

Replace it with the following:

将其替换为以下内容:

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

For a greater glimpse, here is an example:

为了更深入地了解,这里有一个例子:

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()

enter image description here

在此处输入图片说明

回答by Tes3awy

Downgrade to matplotlib 1.4.3the previous stable version.

降级到matplotlib 1.4.3之前的稳定版本。