質問するログイン新規登録

質問編集履歴

4

質問内容の復元

2022/12/14 07:38

投稿

nana_1107
nana_1107

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,8 @@
1
1
  ### 前提
2
2
 
3
- D3.jsで、階層ツリーを作成しています
3
+ 下記サイトを参考に階層ツリーを作成しています
4
4
 
5
+ https://zenn.dev/yuji/articles/7eb96460317222
5
6
 
6
7
  ### 実現したいこと
7
8
 
@@ -9,94 +10,5 @@
9
10
 
10
11
 
11
12
  ### 発生している問題・エラーメッセージ
13
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-12-14/25863581-53c7-457a-8f92-c9202ddbe374.png)
12
14
 
13
- ### 該当のソースコード
14
-
15
- ```html
16
-
17
- <!DOCTYPE html>
18
- <html>
19
- <head>
20
- <meta charset="utf-8">
21
- <title>D3.js サンプル</title>
22
- <link rel="stylesheet" href="css/main.css">
23
- <style>
24
- svg { border: 1px solid black; }
25
- </style>
26
- <script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
27
- </head>
28
- <body>
29
- <h1>D3.jsサンプル</h1>
30
- <div id="myGraph"></div>
31
- <script src="js/sample.js"></script>
32
- </body>
33
- </html>
34
- ```
35
- ```JavaScript
36
-
37
- var dataList = {
38
-     name:"ルートディレクトリ",
39
-     children:[
40
-         { name:"ファイル1" },
41
-         { name:"ファイル2" },
42
-         {
43
-             name:"フォルダA",
44
-             children:[
45
-                 { name:"ファイルC" },
46
-                 { name:"ファイルD" },
47
-                 { name:"ファイルE" },
48
-                 { name:"フォルダB",
49
-                     children:[
50
-                         { name:"ファイルF" },
51
-                     ]
52
-                 }
53
-             ]
54
-         }
55
-     ]
56
- };
57
- var svgWidth = 320; // SVG領域の横幅
58
- var svgHeight = 240;    // SVG領域の縦幅
59
- var offsetY = 10;   // 全体の位置調整用
60
- var svg = d3.select("#myGraph").append("svg")
61
-     .attr("width", svgWidth).attr("height", svgHeight)
62
- var color = d3.scale.category10();  // 10色を指定
63
- // ツリーレイアウト
64
- var tree = d3.layout.tree()
65
-     .size([320, 220])   // ツリーノードの描画範囲を指定
66
- var nodes = tree.nodes(dataList);   // ノードを抽出
67
- // ツリーの線を描く
68
- svg.selectAll("path")   // パスを対象にする
69
-     .data(tree.links(nodes))    // リンク情報を読み込む
70
-     .enter()
71
-     .append("path") // パスを生成する
72
-     .attr("d", d3.svg.diagonal())//ノード間を絆ぐ
73
-     .attr("fill", "none")
74
-     .attr("stroke", "#aaa")
75
-     .attr("stroke-width", 1)
76
-     .attr("transform", "translate(0, "+offsetY+")")
77
- // ツリーの開始点、分岐点、末端を●で表示する
78
- svg.selectAll("circle") // 円を選択
79
-     .data(nodes)
80
-     .enter()
81
-     .append("circle")   // 円を追加
82
-     .attr("cx", function(d){ return d.x })  // 中心のX座標を設定
83
-     .attr("cy", function(d){ return d.y+offsetY })  // 中心のY座標を設定
84
-     .attr("r", 10)  // 半径を設定
85
-     .style("stroke", "red") // 色を設定
86
-     .style("fill", "white") // 塗りを白色にする
87
- // 階層を示す値を表示する
88
- svg.selectAll("text")
89
-     .data(nodes)
90
-     .enter()
91
-     .append("text") // 文字の要素を追加
92
-     .attr("x", function(d){ return d.x })
93
-     .attr("y", function(d){ return d.y+14 })
94
-     .attr("text-anchor", "middle")  // 座標の中央から描画
95
-     .attr("font-size", 14)  // 14ptにする
96
-     .attr("font-weight", "bold")    // 太字にして読みやすくする
97
-     .text(function(d){
98
-         return d.name; // 深さを表示する
99
-     })
100
-     .style("fill", "black");    // 塗りを黒色にする
101
-
102
- ```

3

誤字

2022/12/14 06:25

投稿

nana_1107
nana_1107

スコア8

title CHANGED
@@ -1,1 +1,1 @@
1
- 【D3.js】親要素が右側に来る階層ツリーを作成したい
1
+ 【D3.js】縦方向の階層ツリーを横向きに変更したい
body CHANGED
@@ -1,8 +1,8 @@
1
1
  ### 前提
2
2
 
3
- 下記サイトの階層ツリーを作成しています
3
+ D3.jsで、階層ツリーを作成しています
4
- [http://www.openspc2.org/reibun/D3.js/code/graph/tree/1001/index.html](url)
5
4
 
5
+
6
6
  ### 実現したいこと
7
7
 
8
8
  親要素が右側に来るレイアウトにしたいです。

2

質問内容更新

2022/12/14 06:14

投稿

nana_1107
nana_1107

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,21 +1,102 @@
1
1
  ### 前提
2
2
 
3
3
  下記サイトの階層ツリーを作成しています
4
- [https://zenn.dev/yuji/articles/7eb96460317222](url)
4
+ [http://www.openspc2.org/reibun/D3.js/code/graph/tree/1001/index.html](url)
5
5
 
6
6
  ### 実現したいこと
7
7
 
8
8
  親要素が右側に来るレイアウトにしたいです。
9
9
 
10
- D3.jsで実現出来ない場合、代替のライブラリがあれば
11
- 教えていただけると嬉しいです。
12
10
 
13
11
  ### 発生している問題・エラーメッセージ
14
12
 
15
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-12-13/a0a3a7c2-17b1-40e7-8871-a8e748579ea5.png)
16
- 上図の家康を右側に配置したいです。
17
13
  ### 該当のソースコード
18
14
 
19
- [https://codesandbox.io/s/d3-2021-8-27-bs2w3?from-embed](url)
15
+ ```html
20
16
 
17
+ <!DOCTYPE html>
18
+ <html>
19
+ <head>
20
+ <meta charset="utf-8">
21
+ <title>D3.js サンプル</title>
22
+ <link rel="stylesheet" href="css/main.css">
23
+ <style>
24
+ svg { border: 1px solid black; }
25
+ </style>
26
+ <script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
27
+ </head>
28
+ <body>
29
+ <h1>D3.jsサンプル</h1>
30
+ <div id="myGraph"></div>
31
+ <script src="js/sample.js"></script>
32
+ </body>
33
+ </html>
34
+ ```
35
+ ```JavaScript
21
36
 
37
+ var dataList = {
38
+     name:"ルートディレクトリ",
39
+     children:[
40
+         { name:"ファイル1" },
41
+         { name:"ファイル2" },
42
+         {
43
+             name:"フォルダA",
44
+             children:[
45
+                 { name:"ファイルC" },
46
+                 { name:"ファイルD" },
47
+                 { name:"ファイルE" },
48
+                 { name:"フォルダB",
49
+                     children:[
50
+                         { name:"ファイルF" },
51
+                     ]
52
+                 }
53
+             ]
54
+         }
55
+     ]
56
+ };
57
+ var svgWidth = 320; // SVG領域の横幅
58
+ var svgHeight = 240;    // SVG領域の縦幅
59
+ var offsetY = 10;   // 全体の位置調整用
60
+ var svg = d3.select("#myGraph").append("svg")
61
+     .attr("width", svgWidth).attr("height", svgHeight)
62
+ var color = d3.scale.category10();  // 10色を指定
63
+ // ツリーレイアウト
64
+ var tree = d3.layout.tree()
65
+     .size([320, 220])   // ツリーノードの描画範囲を指定
66
+ var nodes = tree.nodes(dataList);   // ノードを抽出
67
+ // ツリーの線を描く
68
+ svg.selectAll("path")   // パスを対象にする
69
+     .data(tree.links(nodes))    // リンク情報を読み込む
70
+     .enter()
71
+     .append("path") // パスを生成する
72
+     .attr("d", d3.svg.diagonal())//ノード間を絆ぐ
73
+     .attr("fill", "none")
74
+     .attr("stroke", "#aaa")
75
+     .attr("stroke-width", 1)
76
+     .attr("transform", "translate(0, "+offsetY+")")
77
+ // ツリーの開始点、分岐点、末端を●で表示する
78
+ svg.selectAll("circle") // 円を選択
79
+     .data(nodes)
80
+     .enter()
81
+     .append("circle")   // 円を追加
82
+     .attr("cx", function(d){ return d.x })  // 中心のX座標を設定
83
+     .attr("cy", function(d){ return d.y+offsetY })  // 中心のY座標を設定
84
+     .attr("r", 10)  // 半径を設定
85
+     .style("stroke", "red") // 色を設定
86
+     .style("fill", "white") // 塗りを白色にする
87
+ // 階層を示す値を表示する
88
+ svg.selectAll("text")
89
+     .data(nodes)
90
+     .enter()
91
+     .append("text") // 文字の要素を追加
92
+     .attr("x", function(d){ return d.x })
93
+     .attr("y", function(d){ return d.y+14 })
94
+     .attr("text-anchor", "middle")  // 座標の中央から描画
95
+     .attr("font-size", 14)  // 14ptにする
96
+     .attr("font-weight", "bold")    // 太字にして読みやすくする
97
+     .text(function(d){
98
+         return d.name; // 深さを表示する
99
+     })
100
+     .style("fill", "black");    // 塗りを黒色にする
101
+
102
+ ```

1

ソースコードのリンクを追加

2022/12/13 12:29

投稿

nana_1107
nana_1107

スコア8

title CHANGED
File without changes
body CHANGED
@@ -16,8 +16,6 @@
16
16
  上図の家康を右側に配置したいです。
17
17
  ### 該当のソースコード
18
18
 
19
- ```ここに言語名を入力
19
+ [https://codesandbox.io/s/d3-2021-8-27-bs2w3?from-embed](url)
20
- ソースコード
21
- ```
22
20
 
23
21