Python matplotlib savefig()blank-show()是';T

Python matplotlib savefig()blank-show()是';T,python,matplotlib,Python,Matplotlib,我已经浏览了“可能已经有你答案的问题”,如果有。。。我不明白 我已经尽可能地消除了这些问题,并将我的问题简化为以下代码(我很抱歉-我相信有一种更优雅的方法可以获得所有40个的numpy数组,但这是我在撞了头后想到的……): savefig()返回一个非常好的图像,其中包含我的标签、轴和无图形(即,矩形为空) show()用一个漂亮的绿色矩形显示了上面的所有内容,它位于我的轴之间,应该是这样的。我可以手动将这个图形保存到同一个目录中,并得到我期望的结果(即,轴、标签、绿色矩形) 我在没有show(

我已经浏览了“可能已经有你答案的问题”,如果有。。。我不明白

我已经尽可能地消除了这些问题,并将我的问题简化为以下代码(我很抱歉-我相信有一种更优雅的方法可以获得所有40个的numpy数组,但这是我在撞了头后想到的……):

savefig()返回一个非常好的图像,其中包含我的标签、轴和无图形(即,矩形为空)

show()用一个漂亮的绿色矩形显示了上面的所有内容,它位于我的轴之间,应该是这样的。我可以手动将这个图形保存到同一个目录中,并得到我期望的结果(即,轴、标签、绿色矩形)

我在没有show()的情况下尝试过这个方法,或者让show()调用排在第二位,因为这里(和其他地方)的一些问题和答案似乎暗示调用顺序可能是问题所在

我在这段代码中将其他数字(相同数据的直方图)保存为jpg,所以我知道这台计算机可以保存为jpg

我不确定我在savefig上做错了什么-有什么建议吗

谢谢

加入:

import matplotlib
matplotlib.use('TkAgg')
在我打电话给

import matplotlib.pyplot as plt
我能让一切顺利进行


(显然,我还不了解后端!)

我只是在另一台工作的计算机上测试了这段代码。它不起作用的系统是Ubuntu10.04,其中我的帐户是未清洗的用户群的一部分(没有特权)。我假设这意味着它在Ubuntu的后端,尽管它很高兴地为我保存了JPG的直方图数据。我也不明白这一点。我可以运行带有绘图功能的脚本,按预期工作。如果我从其他地方调用这个绘图函数,我会得到与您类似的行为。plt.show()弹出一个空白窗口。我在另一个地方运行PyQt5,这就是为什么我真的很困惑为什么在这里使用('TkAgg')应该有帮助,尽管我们有一个Qt5的参数。。。当我关闭绘图窗口时,我的终端中出现了大量的错误,看起来就像黑夜一样难看。看来我现在不得不接受这个。
import matplotlib.pyplot as plt