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函数被改动?

参考技术A 你是装了CVX工具箱吧。把cvx\lib\narginchk_文件夹移除MATLAB路径就好了 参考技术B legend('LRU','RRIP','基于RRIP自适应算法'); 这句话是要绘制3条曲线,但实际上你没有Plot的曲线数不是3. 参考技术C 请问楼楼解决了吗?我的也是这个样子 参考技术D 楼主后来解决了吗,我也遇到这个问题

禁止警告: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 时出错。示例代码也是如此的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Matlab 警告我“不推荐预分配”

Matlab:抑制uiputfile的警告对话框

有没有办法在构建 Docker 映像时抑制“更新替代:警告:跳过创建”警告?

Matlab/Mex:mxarray.h 中的转换警告

如何在 React 状态更新加载主屏幕时删除警告

在 MATLAB 中使用回归函数时出现排名不足警告