gpt4 book ai didi

python - 如何在 Django 模板中从 Matplotlib 输出图形?

转载 作者:行者123 更新时间:2023-12-01 06:11:39 25 4
gpt4 key购买 nike

这个例子取自here :

def simple(request):
import random

from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
from matplotlib.dates import DateFormatter

fig=Figure()
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=FigureCanvas(fig)
response=django.http.HttpResponse(content_type='image/png')
canvas.print_png(response)
return response

如何以使用模板和变量的方式编写 View ,例如: return render_to_response ('template.html',{'graph': <graph generated by matplotlib> }

最佳答案

当我遇到类似的情况时,我使用了两种 View 。一个使用 matplotilb 生成 PNG,而另一个使用 django 模板创建一个显示 PNG(和其他一些数据)的 HTML 页面。发送到模板的参数只是 PNG 文件名。然后,另一个 View 将附加到适当的 .png URL。

一个问题是,如果您想要计算一些用于生成 HTML 和 PNG 的参数。我在文件名中编码了这些信息。这很痛苦,而且有点 hacky,但如果用户保存文件时所有信息都在文件名中,这对用户来说也是有好处的。

关于python - 如何在 Django 模板中从 Matplotlib 输出图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5619534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com