下面的代码片段是直接在Django中输出matplotlib生成的图片,网上很多种方法都是先生成图片再调用,感觉不是那么直接。
环境:Python2.7,Django1.83
该文件为views.py文件,函数映射按实际设置。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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生成的图片方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/mighty13/article/details/77994601