3

有时我的代码运行很快并退出(例如:需要 2 秒),有时它会挂起(例如:最多几分钟)*。这种行为似乎是完全随机的。在到处添加打印语句后,它似乎一直挂在savefig(). 关于为什么会发生这种情况、如何​​进一步调查或如何处理的任何想法?

当它停止时,Ctr-x Ctr-c没有任何效果。

当我杀死程序(使用Ctrl-\)时,它通常会说“Python 在使用 _macosx.so 插件时意外退出”——我认为这是一个 matplotlib 后端,所以也许这就是问题所在?

谢谢。

*这发生在没有其他程序/任务运行的情况下。晚上看htop内存和cpu使用率都不会变高。

我在 OS X 10.8.4 上运行 Python 2.7.2

我的代码示意图:

from   matplotlib      import pyplot     as plt

fig = plt.figure(figsize=fig_size)

fig.subplots_adjust(left=subplot_position[0], right=subplot_position[1])
ax1 = fig.add_subplot(111)

# Do lots of stuff ....

fig_name = GetFigureName(fig_num, figure_output_filename)   # some string
fig.savefig(fig_name, dpi=resolution_factor*fig.get_dpi())  # resolution_factor ~ 1.0
4

1 回答 1

0

尝试保存 .pdf 文件时,我遇到了与 savefig 挂起类似的问题。当我尝试将其保存为 .png 时,它完成了。虽然情节上有很多点......

我的理由是:因为 .pdf(或其他矢量图形类型)保存每个点,savefig() 尝试保存所有点并且似乎挂起。但是,当保存为花名册图形(png、jpeg 等)时,仅保存图形的视觉表示,即仅保存再次显示该图像所需的确切屏幕像素数。

请注意,保存到名册图形会降低图像缩放时的质量。

于 2014-04-10T16:13:09.333 回答