我正在尝试用d3js创建一堆面板,然后尝试使用C3js用图形填充这些面板。出于某种原因,我一直在:
Error: Invalid value for <g> attribute transform="translate(0,NaN)"
当我对面板进行硬编码时,它工作正常。以下是一些显示错误的示例代码:https://jsfiddle.net/tgp9gqfb/2/
我做错了什么方向?
答案 0 :(得分:2)
而不是设置数据和制作div:
d3.select("#page-wrapper").selectAll("div")
.data(order_labels["a"]);
使用for循环执行相同的操作:
order_labels["a"].forEach(function(d) {
new_panels = d3.select("#page-wrapper").append('div').attr('class', "panel panel-default");
new_panels.append('div').attr('class', "panel-heading").text(function() {
return readable_lables[d];
});
new_panels.append('div').attr('class', "panel-body").append('div').attr("id", function() {
return d + "graph_wrapper";
});
new_panels.append('div').attr('class', "panel-footer");
});
我同意你做的方式是正确的,但内部c3错误是由于div中的数据,这就是为什么我要求你对for循环做同样的事情。
工作代码here
希望这有帮助!