在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