如果我有一个像这样的简单 Python 时间数据系列:
graphdata = []
graphdata.append( [(datetime.date(2008, 5, 7)),75])
graphdata.append([(datetime.date(2008, 5, 8)), 85])
graphdata.append([(datetime.date(2008, 5, 10)), 60])
如何将数据传递到运行 Dygraph 的 Flask 页面?
我需要使用 GViz 吗?
任何示例都会有帮助。
谢谢 比尔
请您参考如下方法:
无需将数据作为包含datetime
对象的列表传递。 Dygraphs 轻松读取 CSV 格式。因此,只需将数据作为一个长 CSV 字符串
传递即可。对于您的情况,首先制定包含您的数据的字符串:
graphdata = ''
graphdata = graphdata + '2008-05-07, 75\n'
graphdata = graphdata + '2008-05-08, 85\n'
graphdata = graphdata + '2008-05-10, 60\n'
现在,假设您希望在 index
页面上呈现此数据,然后在 views.py
中执行此操作:
@app.route('/')
def index():
return render_template('index.html',graphdata)
最后,您的 index.html
接收此数据并使用以下代码呈现:
<div id="graphdiv"></div>
<script type="text/javascript">
g = new Dygraph(
// containing div
document.getElementById("graphdiv"),
// CSV or path to a CSV file.
{{ graphdata }}
);
</script>
确保您的 Flask 应用中包含 dygraph.js
。