我试过了getjson之类的是可以的但是比较怀疑数据量大的话用什么比较好啊?记得见过有人是pandas+d3.js+flask用的,不过找不到了
无邀自答,只因为在我主页的信息流里面多看了你一眼。。。。这话题选得各种切中我的要害啊。
我是勤劳的搬运工。
Getting Your Python Data Onto Browser介绍了如何将你的python数据弄到浏览器里面。所以其实JSON才是python和js的中介,Flask框架只是帮你简单的建立一个JSON服务器而已,连RESTfull都谈不上,如果你只是用来可视化的话。当然你也可以实现增修改删的RESTful服务。同理,你也可以用Tornado,也许它的性能更好。
我假定是一个动态的服务,那么Panda的DataFrame可以帮你快速地处理数据,Playing with REALTIME data, Python and D3和Data visualization using D3.js and Flask都有介绍相关的细节。
功能实现后,你所关心的可能是性能问题。我觉得大多数还不太会需要这方面的担忧。最烦人的可能是开发和可维护性。当然如果关心性能,你也可以在你功能完善的情况下,考虑服务器的优化,引入cache服务,服务器平衡等等,我觉得这不是你关心的。
此外,强烈推荐数据可视化控,可以试试ipython notebook. 这篇Visualizing a NetworkX graph in the IPython notebook with d3.js可能会让你强烈地喜欢上ipython notebook.
新手的个人经验:<code class="language-js"><span class="nx">mydata</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"msg"</span><span class="p">,</span> <span class="s2">"Hello Flask."</span><span class="p">};</span> <span class="c1">// 要传输的数据</span> <span class="nx">$</span><span class="p">.</span><span class="nx">getJSON</span><span class="p">(</span><span class="s1">'/dataconvector'</span><span class="p">,</span> <span class="p">{</span> <span class="c1">// Flask中获取数据的function的url</span> <span class="nx">mykey</span><span class="o">:</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">mydata</span><span class="p">)</span> <span class="c1">// 定义一个keyword, 将数据stringify</span> <span class="p">},</span> <span class="kd">function</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// 从Flask返回的数据</span> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">data</span><span class="p">.</span><span class="nx">result</span><span class="p">);</span> <span class="nx">$</span><span class="p">(</span> <span class="s2">"#result"</span> <span class="p">).</span><span class="nx">text</span><span class="p">(</span><span class="nx">data</span><span class="p">.</span><span class="nx">result</span><span class="p">);</span> <span class="p">}</span> <span class="p">);</span> </code>