python - 如何通过 matplotlib 获取图形二进制对象?
问题描述
我喜欢使用 matplotlib 来展示科学实验结果,我想将这些图片存储到 MongoDB。
虽然我已经阅读了 matplotlib 官方文档,但我找不到任何方法可以轻松地将类文件对象存储到 GridFS 中。
一个可行的解决方案是将图形保存为 png 文件,然后将此 png 文件上传到 GridFS。还有更简洁的方法吗?
解决方案
我解决了这个问题。
def plot_fig(file_name):
x = np.linspace(0, 10, 10)
y = np.linspace(0, 10, 10)
plt.plot(x, y)
from io import BytesIO
figfile = BytesIO()
plt.savefig(figfile, format='png')
fs = GridFS(db)
try:
f = fs.new_file(filename=file_name)
f.write(figfile.getvalue())
finally:
f.close()
推荐阅读
- javascript - 访问 .jsx 元素内的状态
- python - 致命的 Python 错误:Ubuntum16.04 上的分段错误
- python - Pygame在简单程序中没有响应
- mqtt - HiveMQ MQTT 客户端 - 在自动重新连接时重新订阅主题
- jquery - 输入 html 输入字段期间的日期格式建议 (dd-mm-yy)
- java - 我如何解决“二元运算符'+'的错误操作数类型”错误
- javascript - 使用 javascript 来做一些需要的东西
- laravel - 在 laravel 中导出到 Excel
- python - 比较许多值并判断它们是否相等
- javascript - 当我们调用 puppeteer waitForSelector API 会发生什么