matplotlib - plt.图形()冻结

dwbf0jvd  于 2022-11-15  发布在  其他
关注(0)|答案(2)|浏览(152)

我有渲染一些情节,然后将其保存到PNG文件的函数。简化代码:

def render_plot(self, parameter1, parameter2):

    dates = get_my_dates()
    values = get_my_values()
    fig = plt.figure() # freezes here when calling render_plot for the 2nd or 3rd time!
    ax = fig.add_subplot(111)

    ... # performing some calculations and drawing plots

    ax.plot_date(dates, values, '-', marker='o')

    plt.savefig("media/plot.png")
    plt.cla()
    plt.clf()
    plt.close()

函数在“fig = plt. fig()”行冻结(100% CPU使用率-无限循环?),但只有在第二次或第三次调用函数时,第一次运行良好,绘制的图形也很好看。可能是什么原因?

xkftehaa

xkftehaa1#

fig = plt.fig()也会导致我的PyQt5冻结。
我不知道确切的原因,但我已经找到了一个很好的变通方案,为我工作。
解决方法:从matplotlib. Figure导入Figure fig1 = Figure()ax1= fig1.add_subplot()

bejyjqdl

bejyjqdl2#

这可能不是原因,但首先,您不需要

ax=fig.add_subplot(111)

试试

ax = plt.gca()

然后,注解

plt.close()

也许会有帮助,只是猜测

相关问题