禁止警告:matplotlib.legend:没有发现带有标签的句柄放在图例中
Posted
技术标签:
【中文标题】禁止警告:matplotlib.legend:没有发现带有标签的句柄放在图例中【英文标题】:Suppress WARNING:matplotlib.legend:No handles with labels found to put in legend 【发布时间】:2020-03-20 07:08:03 【问题描述】:很抱歉,如果以前有人问过这个问题,但我找到的所有答案都对我不起作用。我正在寻找一种方法来抑制此警告。上下文是我编写了一个创建大量绘图的函数,有时我忍不住为未标记的曲线创建图例。
这是我的示例代码,包括我尝试过的内容
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore') # doesn't work
import logging
logging.basicConfig(level=logging.CRITICAL) # doesn't work
plt.plot(np.random.rand(10))
plt.legend()
plt.show()
警告仍然像这样出现
WARNING:matplotlib.legend:No handles with labels found to put in legend.
【问题讨论】:
logging
选项对我来说效果很好,我得到的图没有图例也没有警告。 Python 3.8,matplotlib 3.1.2。同样在 python 2.7 中。
谢谢我挖得更深一点,在另一个堆栈溢出问题 logging.getLogger().setLevel(logging.CRITICAL) 中找到了解决方案,可能与使用 Jupyter Notebook 有关
【参考方案1】:
我在这个堆栈溢出问题中找到了解决方案。
Disable INFO logging messages in Ipython Notebook
也许它与 Jupyter Notebook 有关?
import logging
logging.getLogger().setLevel(logging.CRITICAL)
【讨论】:
以上是关于禁止警告:matplotlib.legend:没有发现带有标签的句柄放在图例中的主要内容,如果未能解决你的问题,请参考以下文章
matplotlib-- legend(图例说明解释),annotate(标注),text(标注)