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