微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从MatPlotLib画布获取二进制图像数据?

如何解决从MatPlotLib画布获取二进制图像数据?

StringIO对象用作文件对象,可以将其提供给print_pngcanvas函数

from cStringIO import StringIO
sio = StringIO()
canvas.print_png(sio)
return sio.getvalue()

(如果您使用的是Python 3,请使用io.BytesIO代替cStringIO

解决方法

我正在尝试从matplotlib画布获取二进制数据,以便可以将其附加到电子邮件,但是我发现这样做的唯一方法是说:

filename = 'image.png'
canvas.print_figure(filename)
with open(filename,'rb') as image:
    return image.read()

我真的很想避免使用磁盘IO,因为以后不需要保存文件了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。