forループを使用してウェブページにグラフを動的に追加しようとしています。各グラフは、テーブルの別の行にあります。 最後のグラフだけが表示されています。他の人にとって、g要素は追加されません。d3.jsのパスにxタグとyタグが追加されていません
これが最後のグラフ(成功したもの)の階層である: - TR - > TD - > SVG - > G(変換) - > G(X軸) - > G(y軸) - >パス
およびその他のために、それは: - TR - > TD - > SVG - > G(変換)
さらなる分析に、私が成功したグラフ、経路、x及びy軸にとして添加されることが見出さループが実行されているので、何度も繰り返します。
は、ここに私のコードです: -
// Define the line
var valueline = d3.svg.line()
.x(function(d) { return x(d[xA]); })
.y(function(d) { return y(d[yA]); });
for(var i = 0; i < yAV.length; i++){
var yA = yAV[i];
// Adds the svg canvas
chart1 = d3.select("#graph table")
.append("tr")
.append("td")
.append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
// Get the data
d3.json("graphdata.json", function(error, data) {
data.forEach(function(d) {
d[xA] = +d[xA];
d[yA] = +d[yA];
});
x.domain(d3.extent(data, function(d) { return d[xA]; }));
y.domain(d3.extent(data, function(d) { return d[yA]; }));
// Add the X Axis
chart1.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
// Add the Y Axis
chart1.append("g")
.attr("class", "y axis")
.call(yAxis);
// Add the valueline path.
chart1.append("path")
.attr("class", "line")
.attr("d", valueline(data));
});
}
は、この問題を解決する私を助けてください。
小さな更新 - I JSON呼び出しの上にx軸とy軸を追加してみました。そしてx軸とy軸がそれぞれ来ています反復ですが、グラフではありません – LIQvID