Настой к 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.

Другие вопросы по тегам