Я использую matplotlib для отображения некоторой фигуры в веб-приложении. Я использовал 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>
И, как вы можете догадаться, когда я загружаю страницу, все, что я получаю, это Image Placeholder
. Таким образом, им не понравился формат, которым я кормил фигуру.
Кто-нибудь знает, какие методы matplotlib/work-arounds превращают фигуру в фактическое изображение? Я все эти документы, но ничего не могу найти. Спасибо!
BTW: не думал, что нужно включить код python, который делает фигуру, но я могу включить ее, если вам, ребята, нужно это увидеть (просто не захотелось загромождать вопрос)