Javascript 从d3.js中的JSON更新弦图数据

Javascript 从d3.js中的JSON更新弦图数据,javascript,jquery,json,d3.js,Javascript,Jquery,Json,D3.js,我有以下两个函数创建并绘制网络IP之间netflow的D3弦图 Functon 1(创建和弦图的函数) 函数2(绘制图表的函数) 实际上,要更新图表,我要做的是用(containerID.emtpy()清理containerID div;回想一下createChords(),但我需要的是使用来自jsonURL的新ajax请求数据(可选动画事务)更新数据 我在这里尝试了解决方案,但没有成功 提前感谢。您可以编写更新函数或更新DrawChord来更新数据和图形,并从Ajax函数调用它。下面是一个简单

我有以下两个函数创建并绘制网络IP之间netflow的D3弦图

Functon 1(创建和弦图的函数)

函数2(绘制图表的函数)

实际上,要更新图表,我要做的是用(containerID.emtpy()清理containerID div;回想一下createChords(),但我需要的是使用来自jsonURL的新ajax请求数据(可选动画事务)更新数据

我在这里尝试了解决方案,但没有成功


提前感谢。

您可以编写更新函数或更新DrawChord来更新数据和图形,并从Ajax函数调用它。下面是一个简单的示例,它是您提供的示例的扩展。建造这样的东西。有许多d3.js的例子可以更新graph

每次都取决于新创建的SVG数据。因此,您必须在创建之前删除SVG

d3.select("Your Id Name or Your Class Name").select("svg").remove();
在您的代码中,我更改如下

d3.select("#"+containerID).select("svg").remove();
var svg = d3.select("#"+containerID)

是的,我遵循这个示例,但找不到我必须更改的部分,例如,我有d3.json函数,因为我需要从URL加载数据,但我不知道更新现有svg元素需要更改什么,也不创建另一个,因为现在我有一个名为updateChords()的函数,它添加了另一个svg元素,每次调用update函数时。我被绊倒的地方是“做出改变”这一步。我可以再次加载数据并解析它,但不知道如何继续。
$(document).ready(function(){
createChords(
    '/ajax/charts/netflow/realtime/records/packets',
    'records-diagram-packets',
    'records-tooltip-packets',
    'records-circle-packets',
    'records-svg-packets',
    'abbreviate'
);
});
d3.select("Your Id Name or Your Class Name").select("svg").remove();
d3.select("#"+containerID).select("svg").remove();
var svg = d3.select("#"+containerID)