我编写了一个以json格式从mongodb返回数据的服务。我试图在树视图中显示数据。我正在使用此处给出的示例示例之一http://bl.ocks.org/d3noob/8326869。当我检查网页时,我得到一个没有结构的空div,并且Web控制台也没有任何错误。
$http.get('/getActors/' + $scope.productName).success(function(data){
$scope.data = data;
$scope.actors = [];
var treeData = $scope.data;
console.log(treeData)
var margin = {top: 40, right: 120, bottom: 20, left: 120},
width = 960 - margin.right - margin.left,
height = 500 - margin.top - margin.bottom;
var i = 0;
var tree = d3.layout.tree()
.size([height, width]);
var diagonal = d3.svg.diagonal()
.projection(function(d) { return [d.x, d.y]; });
var svg = d3.select("#chart").append("svg")
.attr("width", width + margin.right + margin.left)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
root = treeData[0];
update(root);
function update(source) {
// Compute the new tree layout.
var nodes = tree.nodes(root).reverse(),
links = tree.links(nodes);
// Normalize for fixed-depth.
nodes.forEach(function(d) { d.y = d.depth * 100; });
// Declare the nodes…
var node = svg.selectAll("g.node")
.data(nodes, function(d) { return d.id || (d.id = ++i); });
// Enter the nodes.
var nodeEnter = node.enter().append("g")
.attr("class", "node")
.attr("transform", function(d) {
return "translate(" + d.x + "," + d.y + ")"; });
nodeEnter.append("circle")
.attr("r", 10)
.style("fill", "#fff");
nodeEnter.append("text")
.attr("y", function(d) {
return d.children || d._children ? -18 : 18; })
.attr("dy", ".35em")
.attr("text-anchor", "middle")
.text(function(d) { return d.name; })
.style("fill-opacity", 1);
// Declare the links…
var link = svg.selectAll("path.link")
.data(links, function(d) { return d.target.id; });
// Enter the links.
link.enter().insert("path", "g")
.attr("class", "link")
.attr("d", diagonal);
}
/*for (var actor in data){
/!*$scope.actors.push(data[actor].actor);*!/
}
console.log("Printing actors new impl");
items = data[actor].actor;
for (var item in items){
$scope.actors.push(items[item]);
}*/
}).error(function(data){
console.log('Error: ' + data)
});
数据是分层格式的有效json
[
{
"_id": "56e2f2efe1379a2ea1fe2cd6",
"productName": "Kernal",
"feature": [],
"activity": [],
"actor": [
"One",
"Two",
"Three"
]
}
]
html代码如下:
<div id="chart">
</div>
答案 0 :(得分:0)
请从html代码中删除#
<div id="chart">
</div>