我已经创建了一个托管在Flask上的Python应用程序并发布了一些图像,当我使用axis.plot功能发布一个普通的情节时它工作得很好但是当我想添加富文本,更好的格式化等等时它就不会渲染任何图像图片,这里的样本可重现代码
{{1}}
这是第一种方法' graph.png'给出结果
但第二种方法' PtgGraph.png'给出空白结果,请帮忙
答案 0 :(得分:0)
经过大量的分析,我发现定义了一个图形,即 plt.figure(1) ,并且一旦绘图功能结束将图中的图形传递给它结果即 canvas = FigureCanvas(plt.figure(1))
class PltGraph(Resource):
def get(self):
fig = Figure()
xs = range(100)
ys = [random.randint(1, 50) for x in xs]
plt.figure(1)
plt.plot(xs,ys)
plt.ylabel("Y label")
plt.xlabel("X label")
plt.title("x and y")
canvas = FigureCanvas(plt.figure(1))
output = BytesIO()
canvas.print_png(output)
response = make_response(output.getvalue())
response.mimetype = 'image/png'
# print(response)
return response