Сохранение графиков matplotlib в html do c с base64 - PullRequest
1 голос
/ 26 марта 2020

Мне нужна помощь, и я не знаю, где искать. Используя python с matplotlib, я генерирую некоторые графики с помощью matplotlib.pyplot.savefig для объекта BytesIO (), а затем изменяю его на объект временного файла, просто чтобы посмотреть, работает ли он. Если я использую savefig, чтобы сохранить их в PNG-файл в любом месте, это работает. Должен ли я взять данные из BytesIO или tempfile и сохранить их в png, он работает. Но я хочу поместить их в HTML do c, например,

        print(plots)
    for i, f in enumerate(plots):
        f.seek(0)
        html += """<div style="text-align: center">
<img style="max-width:100%" src=\"data:image/png;base64,{}\">

"" ". Формат (base64.b64encode (f.read ()))

он генерирует файл очень хорошо, и base64 явно заполнен данными, но все мои браузеры видят изображения как испорченные. Точка это используется для работы в python 2.7, а теперь нет, без видимых ошибок.

1 Ответ

0 голосов
/ 27 марта 2020

Кажется, я решил проблему: это потому, что изображение base64 является байтовым объектом

base64.b64encode(f.read()).decode("UTF-8") вместо base64.b64encode(f.read()). По-видимому, работает правильно. Таким образом, этот ответ может быть не идеальным. Привет одному неоновому человеку, который указал мне на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...