2
私はd3.jsで作業しており、データ使用に関するいくつかの助けが必要です。 私はd3とバインドし、プロット内の要素をレンダリングするデータ配列を持っています。今現在、私は項目ごとにデータを複数回結合していD3の単一データ反復で複数のアイテムを描画するにはどうすればよいですか?
O-----------O O---------O
O----------O
:ドット、ラインやドットを終了、次のようにのようなものを開始し、同じようしかし、各プロット項目は、複数のセクションを持っている 、手順は
- バインドデータアレイである
- バインドデータアレイ
- は
- がすべて終了ドット
この方法で問題のレンダリングの順序でレンダーすべてのラインのドットが
今、私の質問は(ドット、ラインと終了点を開始)一緒にすべての要素を一度データをバインドしてレンダリングする方法はありますか?レンダリングの順番は正しいですか? (この場合、2番目のプロット項目のすべての要素が1番目のプロット項目に表示されます)。
var lineSelection = PlotGroup.selectAll(".Line")
.data(EventList);
lineSelection .enter()
.append("line")
.attr("class", "Line gline")
.attr("x1", function (d) {
return XScale(d.startTime);
})
.attr("y1", (_Position))
.attr("x2", function (d) {
return XScale(d.endTime);
})
.attr("y2", (_Position));
var RectInSelection = PlotGroup.selectAll(".RectIn")
.data(EventList);
RectInSelection.enter()
.append("rect")
.attr("class", "RectIn")
.attr("x", function (d) {
return XScale(d.startTime);
})
.attr("y", function (d) {
return _Position;
})
.attr("width", 16)
.attr("height", 16);
var RectOutSelection = PlotGroup.selectAll(".RectOut")
.data(EventList);
RectOutSelection.enter()
.append("rect")
.attr("class", "RectOut")
.attr("x", function (d) {
return XScale(d.endTime);
})
.attr("y", function (d) {
return _Position;
})
.attr("width", 16)
.attr("height", 16);
すごいです!私は今日それを試してみます。 – Pixelord
ここに私のJsFiddleがあります。期待どおりに機能しませんでした。 https://jsfiddle.net/pixelord/g2gt1f03/27/ – Pixelord
それを手に入れました! enter()が見つかりませんでした。 :)うん入力し – Pixelord