下面的代碼片段是直接在Django中輸出matplotlib生成的圖片,網上很多種方法都是先生成圖片再調用,感覺不是那么直接。
環境:Python2.7,Django1.83
該文件為views.py文件,函數映射按實際設置。
from django.shortcuts import renderfrom django.http import HttpResponsefrom matplotlib.figure import Figure from matplotlib.backends.backend_agg import FigureCanvasAggfrom matplotlib.dates import DateFormatterimport matplotlib.pyplot as pltimport randomimport 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生成的圖片方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答