在Django中输出matplotlib生成的图片方法

下面的代码片段是直接在Django中输出matplotlib生成的图片,网上很多种方法都是先生成图片再调用,感觉不是那么直接。

环境:Python2.7,Django1.83

该文件为views.py文件,函数映射按实际设置。

from django.shortcuts import render

from django.http import HttpResponse

from matplotlib.figure import Figure

from matplotlib.backends.backend_agg import FigureCanvasAgg

from matplotlib.dates import DateFormatter

import matplotlib.pyplot as plt

import random

import datetime

# Create your views here.

def gen_mat(request):

fig=Figure(figsize=(6,6))

ax=fig.add_subplot(111)

x=[]

y=[]

now=datetime.datetime.now()

delta=datetime.timedelta(days=1)

for i in range(10):

x.append(now)

now+=delta

y.append(random.randint(0, 1000))

ax.plot_date(x, y, '-')

ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))

fig.autofmt_xdate()

canvas=FigureCanvasAgg(fig)

response=HttpResponse(content_type='image/png')

canvas.print_png(response)

plt.close(fig)

return response

以上这篇在Django中输出matplotlib生成的图片方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 在Django中输出matplotlib生成的图片方法 的全部内容, 来源链接: utcz.com/z/333169.html

回到顶部