python - Numpy 和 Matplotlib 错误与非常小的示例
问题描述
我已经成功地一起使用了 numpy 和 matplotlib 一段时间了。突然,我在一起使用它们时遇到了不寻常的错误。以下是一个最小示例:
import numpy as np
import matplotlib.pyplot as plt
fig,ax = plt.subplots(1,1)
x = np.eye(10)
u = np.linalg.svd(x)
plt.show()
如果我运行一次代码,它就可以工作。如果我再次运行代码,我会得到一个异常:LinAlgError:SVD 没有收敛。奇怪的是,当对 pyplot 的调用被删除时,这种行为就消失了:
import numpy as np
import matplotlib.pyplot as plt
#fig,ax = plt.subplots(1,1)
x = np.eye(10)
u = np.linalg.svd(x)
#plt.show()
我在 numpy 版本 18.1 和 18.5 的两个不同 python 环境中尝试了这个。我想知道是否有人有任何可能导致这种行为的信息。
编辑:我在 jupyter 笔记本中运行这两个代码块,只有这些代码行,没有别的。为了重现交互式解释器中的行为,您需要在运行之间添加 plt.show() 行。我编辑了帖子以包含这一行。
编辑:matplotlib 3.3.2、numpy 18.1 或 18.5,我可以使用 python 3.8.1 或 3.6.8
解决方案
推荐阅读
- javascript - 为什么我的文本框不接受小数点?
- javascript - Discord.js 'awaitReactions 不是函数' 错误
- c# - 抽象类中的隐式转换
- botframework - 如何添加不同的团队成员来处理 Botframework 组合中的单个项目,就像将他们添加为协作者一样
- python - Python Selenium Datepicker 选择日期
- python-3.x - 来自父类的 Python 继承默认值
- javascript - 我可以制作一个从列表中生成三个不重复短语的机器人吗?
- javascript - 在 Javascript 中使用 localStorage 仅向新用户或 30 分钟后返回的用户显示模式
- flutter - [Flutter]同款中英文高度与中文高度不一致
- python - 在python中查找邻居邻居的最有效方法