赞
踩
这听起来像您需要在Python中编写一个使用并返回
JSON的Web服务.我不知道数据是否源自客户端或服务器,所以在这个例子中,我假定它来自客户机.
>以JSON格式将您的图形数据发布到您的Web服务
>做处理服务器端
>将JSON表示处理结果给客户端
>用d3.js渲染它
>客户端上的用户交互创建一个新的或修改的数据结构
>返回步骤1
也许您的服务器端Web服务方法看起来像这样(这是基于web.py的伪代码):
import simplejson
class ml(object):
def POST(self,data=None):
# turn the JSON string into a Python data structure
d = simplejson.loads(data)
# do stuff
results = alter_data(d)
web.header('Content-Type','application/json')
# send JSON back to the client
return simplejson.dumps(results)
而您的客户端代码可能看起来像这样(再次,只是一个粗略的草图).这个例子假设你使用jQuery来做AJAX的东西.
function render(data,textStatus) {
d3
.select('svg')
.selectAll('circle')
.data(data)
.enter()
.append('circle')
.on('click',function() {
$.getJSON(
'your_webservice_url',// POST an updated data structure to your service
{ 'data' : alter_data(data) },// Call the render method again when new data is received
render);
});
}
d3.js’enter和exit方法使您的数据的视觉表示更新变得非常简单.我建议您阅读文档.
This example可能会给你一些关于如何用JSON表示图形数据的想法,以及如何渲染图形数据.
查看on方法,了解如何在单击某个节点时触发POST到您的Web服务.
我将跳过真正具体的东西,比如用d3.js显示文字.我相信你可以通过阅读d3.js documentation找出如何做到这一点.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。