pandas 如何取消matplotlib警告?

ejk8hzay  于 2023-06-20  发布在  其他
关注(0)|答案(5)|浏览(207)

每次我执行import pandas时,都会收到来自matplotlib的警告:

/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 with a brew Python 2.7.10(default,Jul 13 2015,12:05:58),and pandas == 0.17.0 and matplotlib == 1.5.0 *

i1icjdpr

i1icjdpr1#

您可以隐藏所有警告:

import warnings
warnings.filterwarnings("ignore")

import pandas
mnemlml8

mnemlml82#

您也可以隐藏 * 特定 * 警告,而不是隐藏所有内容。例如,如果我们只想隐藏matplotlib警告:

warnings.filterwarnings( "ignore", module = "matplotlib\..*" )

过滤器可以自定义为发出警告的文件的确切消息和行号,假设只是一个警告而不是整个matplotlib。请参阅https://docs.python.org/3/library/warnings.html了解更多详细信息。
注意:module位是 “模块名称必须匹配的正则表达式”。如果需要,可以将其扩大,例如。.*matplot.*
免责声明:以上是对OP的警告。对于有其他警告的用户,您需要将模块名与您得到的特定警告中的模块名交换。

gudnpqoy

gudnpqoy3#

您可以按照AndreL的建议抑制警告消息,也可以解决此特定问题并一劳永逸地停止接收警告消息。如果你想要后者,请执行以下操作。
打开matplotlibrc文件并搜索axes.color_cycle。如果您收到警告消息,则意味着您的matplotlibrc文件应该显示如下内容:

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

警告信息应该消失了。

3b6akqbq

3b6akqbq4#

您可以在适当的位置使用prop_cycle来抑制警告UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.
例如,在使用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()

qoefvg9y

qoefvg9y5#

如果您正在使用日志模块,请尝试以下操作:logging.getLogger('matplotlib ').setLevel(level=logging.CRITICAL)

相关问题