Tom*_*mmy 5 python buffer matplotlib
我有一个返回 .png 原始内容的函数:
import matplotlib.pyplot as plt
def plotVoltage(dbc,imei,sMonth,sDay,sYear):
...
plt.figure(1)
ax = plt.subplot(111)
ax.plot(Xs,Ys,color='blue',linewidth=2)
buf = None #DOES NOT SOLVE PROBLEM
buf = io.BytesIO()
plt.savefig(buf, format = 'png')
buf.seek(0)
return buf.read()
Run Code Online (Sandbox Code Playgroud)
还有一个 Flask 函数,它将图像作为 HTTP 响应返回:
@app.route('/voltageOverTime', methods=['GET'])
def vot():
ret = plotVoltage(some_parameters))
resp = Response(response=ret,
status=200,
mimetype="image/png")
return resp
Run Code Online (Sandbox Code Playgroud)
最后,我有一个 .html 文件,/voltageOverTime当单击按钮时,图像源被设置为带有一些参数。问题是,如果我使用不同的参数多次单击按钮,图像会彼此“堆叠”;我看到每条线都绘制在另一条线之上。我认为这与内存缓冲区有关,例如,每次我单击按钮时,它都会添加到该缓冲区中。我怎样才能使这个缓冲区完全刷新?