2017-07-18 35 views
2

计算与在HTTP响应返回图片

plt.scatter(...) 

散点图我可以

plt.show() 

但是预览图之后,我希望保存的情节与一些有点像savefig功能( )将图像存储在一个变量而不是文件中,然后在http响应中将变量作为content/png返回到django web框架中

+0

'plt.show()'的输出格式是什么? – MiniGunnR

+0

@MiniGunnR它实际上在新窗口中显示情节。 –

+0

@MiniGunnR'plt.show()'将使用'qt'呈现我想。 – Rahul

回答

1

可以返回情节作为这样的png图片:

from matplotlib.backends.backend_agg import FigureCanvasAgg 
from matplotlib.figure import Figure 
from django.http import HttpResponse 

def graph(request): 
    fig = Figure() 

    # draw your plot here ...... 
    ax = fig.add_subplot(111) 
    # ............. 

    canvas = FigureCanvasAgg(fig) 
    response = HttpResponse(content_type = 'image/png') 
    canvas.print_png(response) 
    return response 

但是,因为matplotlib 2.2.0 print_png功能并不需要的HttpResponse了。

0

我建议你使用mpld3这是专为,here's a guide

具体来说,看看mpld3.fig_to_html()