私は D3.js を学び始めており、強制レイアウトを使用して簡単なアプリを作成したいと考えていました。目標は、浮遊し、マウスを使用してドラッグできる 3 つのノードを作成することです。これは、ドキュメントを使用してどこまで到達したかですが、ウィンドウの左上隅に小さな黒い円が表示されるだけです (3 つすべてが重なっていると思います)。私は各ステップにコメントを付けました - 少なくともそれは彼らがやっていることだと思います.
<!doctype html>
<html>
<head>
<title>Simple Force Layout</title>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js?1.29.1"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.geom.js?1.29.1"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.layout.js?1.29.1"></script>
</head>
<body>
<div id="canvas"></div>
<script type="text/javascript">
var conf = {
canvasWidth: 600,
canvasHeight: 400
}
var nodes = [
{ 'name': 'Node 1' },
{ 'name': 'Node 2' },
{ 'name': 'Node 3' }
];
// Add nodes to force layout and start it
var force = d3.layout.force()
.nodes(nodes)
.size([conf.canvasWidth, conf.canvasHeight])
.start();
// Create an svg element
var svg = d3.select("#canvas")
.append("svg:svg")
.attr("width", conf.canvasWidth)
.attr("height", conf.canvasHeight);
// Create a circle for each node
var circle = svg.append("svg:g").selectAll("circle")
.data(force.nodes())
.enter().append("svg:circle")
.attr("r", 6)
.call(force.drag);
</script>
</body>
</html>
私の質問:
- 私は何が欠けていますか?ノードを浮遊させてドラッグ可能にするには、他に何をする必要がありますか?
- ノードのいくつかの属性に基づいて、円形と長方形のノードを混在させたいと思います。どうすればいいですか?
アプリケーションを実行すると、Firebug に次のエラーが表示されます。
「NetworkError: 404 Not Found - http://mbostock.github.com/d3/d3.geom.js?1.29.1」 d3.geom.js?1.29.1
「NetworkError: 404 Not Found - http://mbostock.github.com/d3/d3.layout.js?1.29.1」
どうしてこれなの?私が試したいくつかの強制レイアウトの例でもこのエラーが発生していますが、うまく機能しているようです!