Matplotlib提示启动python以在Flask应用程序中打开

Matplotlib提示启动python以在Flask应用程序中打开,python,matplotlib,flask,Python,Matplotlib,Flask,我正在编写一个Flask应用程序,我使用matplotlib创建一个条形图,并保存图像以在浏览器上显示它(可以正常工作)。然而,当我打开带有图像的页面时,python启动器尝试打开,然后自行退出,这给了我一个工作提示,说明应用程序意外退出。但我的问题不是它没有打开,而是我不希望python启动程序首先打开,因为我只使用matplotlib创建绘图图像。 提醒:在我的Flask页面中,图像正确显示,当我仍在使用浏览器python启动器时,会提示并退出。问题是,我想首先阻止它启动 我有两个函数,一个

我正在编写一个Flask应用程序,我使用
matplotlib
创建一个条形图,并保存图像以在浏览器上显示它(可以正常工作)。然而,当我打开带有图像的页面时,python启动器尝试打开,然后自行退出,这给了我一个工作提示,说明应用程序意外退出。但我的问题不是它没有打开,而是我不希望python启动程序首先打开,因为我只使用
matplotlib
创建绘图图像。 提醒:在我的Flask页面中,图像正确显示,当我仍在使用浏览器python启动器时,会提示并退出。问题是,我想首先阻止它启动

我有两个函数,一个返回
matplotlib
图,另一个创建图像并将其保存到route
/plot.png

这是第一个返回图形的函数(我排除了计算值
bar_x
bar_y
的部分,因为我知道第一个函数生成正确的图形:

def bar_graph(doesn_matter):
    fig = plt.gcf()
    plt.title("Bar (Spreading of transactions)")
    plt.bar(bar_x, bar_y)
    plt.show()
    return fig
下面是从
matplotlib
图生成图像的函数: (
purchases
是一个始终在更改的全局变量,显示的绘图基于此变量。另一个问题是,当我更改图表时,图表总是重叠)

最后,如果相关的话,这就是我在Flask HTML模板中调用图像的方式:

<img src="/plot.png" alt="Plot Results">

这可能最近有所改变,但让matplotlib与Flask(或其他无头应用程序)配合使用的标准方法长期以来一直包括

matplotlib.use('agg')
紧接着

import matplotlib

您好!这很有效,但是当我重新加载页面并创建不同的图形时,上一个栏也会出现。是否有任何方法每次“清除”图形?您需要取消缓存。要实现这一点,请参阅,但python或Matplotlib中都没有名为
nocache
的函数,甚至没有名为
fig_responde
的函数。它们是两个紧接着下面的功能
import matplotlib