从flask,如何将matplotlib图图像发送到JSON对象?

时间:2018-11-20 07:39:10

标签: python json image matplotlib flask

我们正在尝试创建一个与前端的React和后端的Flask一起使用的API。作为其中一部分,需要显示的输出包括四个实体:

2张图像(使用matplotlib生成) 2弦。 我已经将两个字符串都嵌入到JSON对象中,但是图像证明很困难。

有没有一种方法不存储这些图像,而直接将生成的matplotlib图像嵌入到JSON对象中?大多数方法都要求我们指定图像文件名,但是是否可以跳过保存文件的方法? sendfile()无效,因为我们有多个输出,而我们的最终目标是JSON响应。

试图创建一个临时文件并读取它,这正在生成缓冲流吗?我认为Base64不适用于此吗?

预先感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

假设您的绘图按照自己的方式进行,您可以始终对存储在其中的文件进行base64编码,然后在另一台机器上进行复制。看看:

MovieViewModel movieViewModel = ViewModelProviders.of(this, new MovieViewModelFactory(this.getApplication(), "param")).get(MovieViewModel.class);

答案 1 :(得分:0)

https://github.com/mpld3/mpld3 mpld3提供了一个基于D3的自定义独立javascript库,该库可解析绘图的JSON表示形式。 mpld3 python模块提供了一组例程(使用mplexporter框架)解析matplotlib图并输出mpld3.js可读的JSON描述。