Matplotlib从头开始绘制未定义图

时间:2019-01-02 00:10:33

标签: python matplotlib

首先,很抱歉,这不是发布此类问题的地方。

问题在于,无论何时执行脚本,matplotlib显然都在绘制图形(我可以从旧图形中识别出它,因此它不是完全随机的图形)。让我进一步解释。

该文件是测试文件module_test.py,我一直在尝试识别此问题可能来自何处。现在我写了

import matplotlib.pyplot as plt
plt.show()

字面意思位于脚本顶部,当我通过python -m package.tests.module_test运行测试时,将弹出“随机”图。它还会与其他任何测试脚本一起弹出,但是在命令控制台中使用python时不会出现。否则测试可以正常运行。

有人知道为什么会这样吗?我尝试从与该问题相关的所有文件夹中删除__pycache__,但没有帮助。

这是图片。这是我几个月前所做的一份实验室报告中的情节。

This is the graph

1 个答案:

答案 0 :(得分:3)

通过仿真MATLAB GUI,matplotlib(特别是但不仅是pyplot)是有状态的。这是一种礼貌的说法,它具有全局变量以及随之而来的所有调试难题。

尤其是,每个创建的图都将无限期保留,以便可以通过其“图号”进行引用。也可以是pyplot的“当前数字”。

从包中导入模块隐式导入包含的包。这就是仅导入模块不应具有任何副作用(而只能定义类,函数和常量)的原因之一。远处看不见的副作用和动作的结合会产生如此处观察到的欢闹。