ここにいくつかのコードがあります。不適切な名前の変数があり、間違っています。元の例には円しかなかったため、円が選択されていますが、現在はグループがあります。ただし、このコードは現時点では正しく機能します。私が期待するように、それは正方形と円を描きます。
コンソールを使用すると、「円」が表示Array[3]
されますが、要素が何であるか、またはそのタイプがわかりません。その起動以来、svg 要素が作成されていないため、どのように 3 が可能でしょうか?
とにかく、私は実際にどのサークルと呼ばれるべきか疑問に思っていました. 「g」ですべて選択すると、同じ効果が得られるようです。selectAll が選択を実行しようとしていて、要素が 0 であると推測していますが、何らかの形で引き続き動作するか、selectAll が実際に svg を返す可能性がありますが、その場合、新しい変数を作成するのはなぜですか。また、なぜ例と私がそれについてデータを作成しているのか正確にはわかりません。サークルは実際にデータを設定した内部 d3 オブジェクトを返していますか? svg や dom と何か関係がありますか? なぜselectAllを選択してデータを呼び出しているのか、私は混乱しています。
<!DOCTYPE html>
<meta charset="utf-8">
<body>
<style>
</style>
<script src="http://d3js.org/d3.v3.js"></script>
<script>
(function() {
var svg = d3.select('body').append('svg').attr('width', 900);
var circle = svg.selectAll("circle")
.data([32, 57, 293]);
circle.enter()
.append("g")
.call(function(gs) {
gs.append("rect").attr("width", 20).attr("height", 20).attr("x", String);
gs.append("circle").attr("cy", 90).attr("cx", String).attr("r", Math.sqrt);
})
.attr('class', 'test');
circle.exit().remove()
})();
</script>
</body>