Javascript d3.js如何向树中动态添加节点2

Javascript d3.js如何向树中动态添加节点2,javascript,dom,svg,d3.js,Javascript,Dom,Svg,D3.js,我不想使用d3.jsonflare.json,functionroot{,因为我使用jQuery获取数据并将其保存在$data中。 因此,我想使用json=json.parse'PHP来代替d3.json。PHP是一种服务器端语言。PHP标记被转换为输出并生成一个html页面。因此,必须将其替换为json。在查看之前,通过Apache/PHP呈现它。 <?php //Zoomable Partition Layout //http://mbostock.github.io/d3/talk

我不想使用d3.jsonflare.json,functionroot{,因为我使用jQuery获取数据并将其保存在$data中。
因此,我想使用json=json.parse'PHP来代替d3.json。PHP是一种服务器端语言。PHP标记被转换为输出并生成一个html页面。因此,必须将其替换为json。在查看之前,通过Apache/PHP呈现它。
<?php
//Zoomable Partition Layout
//http://mbostock.github.io/d3/talk/20111018/partition.html
echo $data
?>

<div id="partition">
<script type="text/javascript">


var w = 690,
h = 700,
x = d3.scale.linear().range([0, w]),
y = d3.scale.linear().range([0, h]);

var vis = d3.select("#partition").append("div")
.attr("class", "chart")
.style("width", w + "px")
.style("height", h + "px")
.append("svg:svg")
.attr("width", w)
.attr("height", h);

var partition = d3.layout.partition()
.value(function(d) { return d.size; });

d3.json("flare.json" , function(root) {

var g = vis.selectAll("g")
  .data(partition.nodes(root))
.enter().append("svg:g")
  .attr("transform", function(d) { return "translate(" + x(d.y) + "," + y(d.x) + ")"; })
  .on("click", click);

var kx = w / root.dx,
  ky = h / 1
<script type="text/javascript">
var jdata='${jsonvalue}' //json value 
d3.json("source dummy.json", function(json) {  // dummy.json for function call but processing json of jdata
root = JSON.parse(jdata);
root.x0 = h / 2;
root.y0 = 0; 
function toggleAll(d) {
if (d.children){
d.children.forEach(toggleAll);
toggle(d);
}}
// Initialize the display to show a few nodes.
root.children.forEach(toggleAll);
update(root);
});
</script>
Normally in D3 d3.json(function) must read the data from flare.json.For this case dymanically load the json [jdata] and processing the data for visualization