我正在使用matplotlib在一个Web应用程序中呈现一些图形。之前我在运行脚本时使用过fig.savefig()
。然而,现在我需要一个函数来返回实际的".png"图像,以便我可以在HTML中调用它。
更多信息(可能是不必要的):我正在使用Python Flask。我想我可以使用fig.savefig()
,把图形放在我的静态文件夹中,然后从HTML中调用它,但我不想每次都这样做。最理想的情况是,我可以创建图形,将其制作成图像,返回该图像,并从HTML中调用它,然后它就消失了。
创建图形的代码已经可以工作。然而,它返回的是一张图片,似乎无法在HTML中使用。
这是我在路由中调用draw_polygon
的地方,draw_polygon
是返回该图形的方法:
@app.route('/images/<cropzonekey>')
def images(cropzonekey):
fig = draw_polygons(cropzonekey)
return render_template("images.html", title=cropzonekey, figure = fig)
这里是我尝试生成图片的HTML代码。
<html>
<head>
<title>{{ title }} - image</title>
</head>
<body>
<img src={{ figure }} alt="Image Placeholder" height="100">
</body>
</html>
而且,您可能已经猜到了,当我加载页面时,我只会得到图像占位符
。因此,他们不喜欢我用的图形格式。
有人知道matplotlib的方法/解决方案可以将图形转换为实际图像吗?我已经查看了所有文档,但找不到任何信息。谢谢!
顺便说一下:我认为没有必要包括创建图形的Python代码,但如果您需要查看它(我只是不想使问题混乱),我可以包括它。