如果我有一个简单的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吗?
任何例子都会有所帮助。
由于 比尔
答案 0 :(得分:0)
无需将数据作为包含datetime
个对象的列表传递。 Dygraphs轻松读取CSV格式。因此,只需将数据作为一个长CSV string
传递。对于您的情况,首先制定包含您的数据的字符串:
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
。