Настой к Dygraph - как передать данные?
Если у меня есть простой ряд временных данных 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])
Как я могу передать данные на страницу Flask с Dygraph?
Нужно ли использовать GViz?
Любые примеры будут полезны.
Спасибо Билл
1 ответ
Нет необходимости передавать данные в виде списка, содержащего 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>
Удостоверься что dygraph.js
включен в ваше приложение Flask.