python绘图在html显示_Django将matplotlib生成的图像显示到web页面

在Django的views里面用matplotlib画图并保存到项目static文件夹里,启动服务器,

matplotlib 绘图的图像保存为 HTML 文件

HTML 文件中,内嵌的图片是以 base64 代码的形式嵌入的,故而只需将图像转为 base64 代码即可将图像嵌入 HTML 代码字符串中。python 的 base64 模块可以实现将二进制文件转为 base64 编码,而 matplotlib 的 pyplot.savefig() 函数可以将绘图窗口保存为二进制文件格式。

如何使用模板和变量来编写视图:

return render_to_response('template.html',{'graph':< ;由matplotlib生成的图形> }

解决方案

当我有类似的情况时,我使用了两个视图。一个使用matplotilb生成一个PNG,另一个使用django模板来创建一个呈现PNG(和其他一些数据)的HTML页面。发送到模板的参数只是PNG文件名。另一个视图然后附加到他适当的.png URL。

一个问题是如果要计算一些用于生成HTML和PNG的参数。我在文件名中编码了这样的信息。这是痛苦的,有点黑客,但如果所有的信息在文件名中保存,这对用户来说也是好的。


版权声明:本文为weixin_39997696原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。