matlab 警告:警告: 更新 Legend 时出错。示例代码也是如此
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 警告:警告: 更新 Legend 时出错。示例代码也是如此相关的知识,希望对你有一定的参考价值。
这是legend help 里的代码:
x = -pi:pi/20:pi;
y1 = sin(x);
plot(x,y1)
hold on
y2 = cos(x);
plot(x,y2,'--')
hold off
legend('sin(x)','cos(x)')
可以看到legend混乱,这是报错信息
Warning: Error updating Legend.
Not enough input arguments.
是不是因为legend.m函数被改动?
禁止警告:matplotlib.legend:没有发现带有标签的句柄放在图例中
【中文标题】禁止警告: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)
【讨论】:
以上是关于matlab 警告:警告: 更新 Legend 时出错。示例代码也是如此的主要内容,如果未能解决你的问题,请参考以下文章