Browse Source

source change

tobby48 5 years ago
parent
commit
f1bd2e5c76

+ 1
- 14
src/main/html/js/d3/Force_Based_Label.html View File

@@ -2,20 +2,13 @@
2 2
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
3 3
 <html lang="en">
4 4
 	<head>
5
-		<meta charset="utf-8">
6
-		<title>Force based label placement</title>
7
-		<script type="text/javascript" src="https://mbostock.github.com/d3/d3.js?2.6.0"></script>
8
-		<script type="text/javascript" src="https://mbostock.github.com/d3/d3.layout.js?2.6.0"></script>
9
-		<script type="text/javascript" src="https://mbostock.github.com/d3/d3.geom.js?2.6.0"></script>
5
+		<script src="https://d3js.org/d3.v3.min.js"></script>
10 6
 	</head>
11 7
 	<body>
12 8
 		<script type="text/javascript" charset="utf-8">
13 9
 			var w = 960, h = 500;
14
-
15 10
 			var labelDistance = 0;
16
-
17 11
 			var vis = d3.select("body").append("svg:svg").attr("width", w).attr("height", h);
18
-
19 12
 			var nodes = [];
20 13
 			var labelAnchors = [];
21 14
 			var labelAnchorLinks = [];
@@ -98,9 +91,7 @@
98 91
 			force.on("tick", function() {
99 92
 
100 93
 				force2.start();
101
-
102 94
 				node.call(updateNode);
103
-
104 95
 				anchorNode.each(function(d, i) {
105 96
 					if(i % 2 == 0) {
106 97
 						d.x = d.node.x;
@@ -110,9 +101,7 @@
110 101
 
111 102
 						var diffX = d.x - d.node.x;
112 103
 						var diffY = d.y - d.node.y;
113
-
114 104
 						var dist = Math.sqrt(diffX * diffX + diffY * diffY);
115
-
116 105
 						var shiftX = b.width * (diffX - dist) / (dist * 2);
117 106
 						shiftX = Math.max(-b.width, Math.min(0, shiftX));
118 107
 						var shiftY = 5;
@@ -124,9 +113,7 @@
124 113
 
125 114
 				link.call(updateLink);
126 115
 				anchorLink.call(updateLink);
127
-
128 116
 			});
129
-
130 117
 		</script>
131 118
 	</body>
132 119
 </html>

+ 339
- 5
src/main/html/js/d3/Force_Directed_Graph.html View File

@@ -2,7 +2,6 @@
2 2
 <!DOCTYPE html>
3 3
 <meta charset="utf-8">
4 4
 <style>
5
-
6 5
 .links line {
7 6
   stroke: #999;
8 7
   stroke-opacity: 0.6;
@@ -17,11 +16,348 @@ text {
17 16
   font-family: sans-serif;
18 17
   font-size: 10px;
19 18
 }
20
-
21 19
 </style>
22 20
 <svg width="960" height="600"></svg>
23 21
 <script src="https://d3js.org/d3.v4.min.js"></script>
24 22
 <script>
23
+var graph = {
24
+  "nodes": [
25
+    {"id": "Myriel", "group": 1},
26
+    {"id": "Napoleon", "group": 1},
27
+    {"id": "Mlle.Baptistine", "group": 1},
28
+    {"id": "Mme.Magloire", "group": 1},
29
+    {"id": "CountessdeLo", "group": 1},
30
+    {"id": "Geborand", "group": 1},
31
+    {"id": "Champtercier", "group": 1},
32
+    {"id": "Cravatte", "group": 1},
33
+    {"id": "Count", "group": 1},
34
+    {"id": "OldMan", "group": 1},
35
+    {"id": "Labarre", "group": 2},
36
+    {"id": "Valjean", "group": 2},
37
+    {"id": "Marguerite", "group": 3},
38
+    {"id": "Mme.deR", "group": 2},
39
+    {"id": "Isabeau", "group": 2},
40
+    {"id": "Gervais", "group": 2},
41
+    {"id": "Tholomyes", "group": 3},
42
+    {"id": "Listolier", "group": 3},
43
+    {"id": "Fameuil", "group": 3},
44
+    {"id": "Blacheville", "group": 3},
45
+    {"id": "Favourite", "group": 3},
46
+    {"id": "Dahlia", "group": 3},
47
+    {"id": "Zephine", "group": 3},
48
+    {"id": "Fantine", "group": 3},
49
+    {"id": "Mme.Thenardier", "group": 4},
50
+    {"id": "Thenardier", "group": 4},
51
+    {"id": "Cosette", "group": 5},
52
+    {"id": "Javert", "group": 4},
53
+    {"id": "Fauchelevent", "group": 0},
54
+    {"id": "Bamatabois", "group": 2},
55
+    {"id": "Perpetue", "group": 3},
56
+    {"id": "Simplice", "group": 2},
57
+    {"id": "Scaufflaire", "group": 2},
58
+    {"id": "Woman1", "group": 2},
59
+    {"id": "Judge", "group": 2},
60
+    {"id": "Champmathieu", "group": 2},
61
+    {"id": "Brevet", "group": 2},
62
+    {"id": "Chenildieu", "group": 2},
63
+    {"id": "Cochepaille", "group": 2},
64
+    {"id": "Pontmercy", "group": 4},
65
+    {"id": "Boulatruelle", "group": 6},
66
+    {"id": "Eponine", "group": 4},
67
+    {"id": "Anzelma", "group": 4},
68
+    {"id": "Woman2", "group": 5},
69
+    {"id": "MotherInnocent", "group": 0},
70
+    {"id": "Gribier", "group": 0},
71
+    {"id": "Jondrette", "group": 7},
72
+    {"id": "Mme.Burgon", "group": 7},
73
+    {"id": "Gavroche", "group": 8},
74
+    {"id": "Gillenormand", "group": 5},
75
+    {"id": "Magnon", "group": 5},
76
+    {"id": "Mlle.Gillenormand", "group": 5},
77
+    {"id": "Mme.Pontmercy", "group": 5},
78
+    {"id": "Mlle.Vaubois", "group": 5},
79
+    {"id": "Lt.Gillenormand", "group": 5},
80
+    {"id": "Marius", "group": 8},
81
+    {"id": "BaronessT", "group": 5},
82
+    {"id": "Mabeuf", "group": 8},
83
+    {"id": "Enjolras", "group": 8},
84
+    {"id": "Combeferre", "group": 8},
85
+    {"id": "Prouvaire", "group": 8},
86
+    {"id": "Feuilly", "group": 8},
87
+    {"id": "Courfeyrac", "group": 8},
88
+    {"id": "Bahorel", "group": 8},
89
+    {"id": "Bossuet", "group": 8},
90
+    {"id": "Joly", "group": 8},
91
+    {"id": "Grantaire", "group": 8},
92
+    {"id": "MotherPlutarch", "group": 9},
93
+    {"id": "Gueulemer", "group": 4},
94
+    {"id": "Babet", "group": 4},
95
+    {"id": "Claquesous", "group": 4},
96
+    {"id": "Montparnasse", "group": 4},
97
+    {"id": "Toussaint", "group": 5},
98
+    {"id": "Child1", "group": 10},
99
+    {"id": "Child2", "group": 10},
100
+    {"id": "Brujon", "group": 4},
101
+    {"id": "Mme.Hucheloup", "group": 8}
102
+  ],
103
+  "links": [
104
+    {"source": "Napoleon", "target": "Myriel", "value": 1},
105
+    {"source": "Mlle.Baptistine", "target": "Myriel", "value": 8},
106
+    {"source": "Mme.Magloire", "target": "Myriel", "value": 10},
107
+    {"source": "Mme.Magloire", "target": "Mlle.Baptistine", "value": 6},
108
+    {"source": "CountessdeLo", "target": "Myriel", "value": 1},
109
+    {"source": "Geborand", "target": "Myriel", "value": 1},
110
+    {"source": "Champtercier", "target": "Myriel", "value": 1},
111
+    {"source": "Cravatte", "target": "Myriel", "value": 1},
112
+    {"source": "Count", "target": "Myriel", "value": 2},
113
+    {"source": "OldMan", "target": "Myriel", "value": 1},
114
+    {"source": "Valjean", "target": "Labarre", "value": 1},
115
+    {"source": "Valjean", "target": "Mme.Magloire", "value": 3},
116
+    {"source": "Valjean", "target": "Mlle.Baptistine", "value": 3},
117
+    {"source": "Valjean", "target": "Myriel", "value": 5},
118
+    {"source": "Marguerite", "target": "Valjean", "value": 1},
119
+    {"source": "Mme.deR", "target": "Valjean", "value": 1},
120
+    {"source": "Isabeau", "target": "Valjean", "value": 1},
121
+    {"source": "Gervais", "target": "Valjean", "value": 1},
122
+    {"source": "Listolier", "target": "Tholomyes", "value": 4},
123
+    {"source": "Fameuil", "target": "Tholomyes", "value": 4},
124
+    {"source": "Fameuil", "target": "Listolier", "value": 4},
125
+    {"source": "Blacheville", "target": "Tholomyes", "value": 4},
126
+    {"source": "Blacheville", "target": "Listolier", "value": 4},
127
+    {"source": "Blacheville", "target": "Fameuil", "value": 4},
128
+    {"source": "Favourite", "target": "Tholomyes", "value": 3},
129
+    {"source": "Favourite", "target": "Listolier", "value": 3},
130
+    {"source": "Favourite", "target": "Fameuil", "value": 3},
131
+    {"source": "Favourite", "target": "Blacheville", "value": 4},
132
+    {"source": "Dahlia", "target": "Tholomyes", "value": 3},
133
+    {"source": "Dahlia", "target": "Listolier", "value": 3},
134
+    {"source": "Dahlia", "target": "Fameuil", "value": 3},
135
+    {"source": "Dahlia", "target": "Blacheville", "value": 3},
136
+    {"source": "Dahlia", "target": "Favourite", "value": 5},
137
+    {"source": "Zephine", "target": "Tholomyes", "value": 3},
138
+    {"source": "Zephine", "target": "Listolier", "value": 3},
139
+    {"source": "Zephine", "target": "Fameuil", "value": 3},
140
+    {"source": "Zephine", "target": "Blacheville", "value": 3},
141
+    {"source": "Zephine", "target": "Favourite", "value": 4},
142
+    {"source": "Zephine", "target": "Dahlia", "value": 4},
143
+    {"source": "Fantine", "target": "Tholomyes", "value": 3},
144
+    {"source": "Fantine", "target": "Listolier", "value": 3},
145
+    {"source": "Fantine", "target": "Fameuil", "value": 3},
146
+    {"source": "Fantine", "target": "Blacheville", "value": 3},
147
+    {"source": "Fantine", "target": "Favourite", "value": 4},
148
+    {"source": "Fantine", "target": "Dahlia", "value": 4},
149
+    {"source": "Fantine", "target": "Zephine", "value": 4},
150
+    {"source": "Fantine", "target": "Marguerite", "value": 2},
151
+    {"source": "Fantine", "target": "Valjean", "value": 9},
152
+    {"source": "Mme.Thenardier", "target": "Fantine", "value": 2},
153
+    {"source": "Mme.Thenardier", "target": "Valjean", "value": 7},
154
+    {"source": "Thenardier", "target": "Mme.Thenardier", "value": 13},
155
+    {"source": "Thenardier", "target": "Fantine", "value": 1},
156
+    {"source": "Thenardier", "target": "Valjean", "value": 12},
157
+    {"source": "Cosette", "target": "Mme.Thenardier", "value": 4},
158
+    {"source": "Cosette", "target": "Valjean", "value": 31},
159
+    {"source": "Cosette", "target": "Tholomyes", "value": 1},
160
+    {"source": "Cosette", "target": "Thenardier", "value": 1},
161
+    {"source": "Javert", "target": "Valjean", "value": 17},
162
+    {"source": "Javert", "target": "Fantine", "value": 5},
163
+    {"source": "Javert", "target": "Thenardier", "value": 5},
164
+    {"source": "Javert", "target": "Mme.Thenardier", "value": 1},
165
+    {"source": "Javert", "target": "Cosette", "value": 1},
166
+    {"source": "Fauchelevent", "target": "Valjean", "value": 8},
167
+    {"source": "Fauchelevent", "target": "Javert", "value": 1},
168
+    {"source": "Bamatabois", "target": "Fantine", "value": 1},
169
+    {"source": "Bamatabois", "target": "Javert", "value": 1},
170
+    {"source": "Bamatabois", "target": "Valjean", "value": 2},
171
+    {"source": "Perpetue", "target": "Fantine", "value": 1},
172
+    {"source": "Simplice", "target": "Perpetue", "value": 2},
173
+    {"source": "Simplice", "target": "Valjean", "value": 3},
174
+    {"source": "Simplice", "target": "Fantine", "value": 2},
175
+    {"source": "Simplice", "target": "Javert", "value": 1},
176
+    {"source": "Scaufflaire", "target": "Valjean", "value": 1},
177
+    {"source": "Woman1", "target": "Valjean", "value": 2},
178
+    {"source": "Woman1", "target": "Javert", "value": 1},
179
+    {"source": "Judge", "target": "Valjean", "value": 3},
180
+    {"source": "Judge", "target": "Bamatabois", "value": 2},
181
+    {"source": "Champmathieu", "target": "Valjean", "value": 3},
182
+    {"source": "Champmathieu", "target": "Judge", "value": 3},
183
+    {"source": "Champmathieu", "target": "Bamatabois", "value": 2},
184
+    {"source": "Brevet", "target": "Judge", "value": 2},
185
+    {"source": "Brevet", "target": "Champmathieu", "value": 2},
186
+    {"source": "Brevet", "target": "Valjean", "value": 2},
187
+    {"source": "Brevet", "target": "Bamatabois", "value": 1},
188
+    {"source": "Chenildieu", "target": "Judge", "value": 2},
189
+    {"source": "Chenildieu", "target": "Champmathieu", "value": 2},
190
+    {"source": "Chenildieu", "target": "Brevet", "value": 2},
191
+    {"source": "Chenildieu", "target": "Valjean", "value": 2},
192
+    {"source": "Chenildieu", "target": "Bamatabois", "value": 1},
193
+    {"source": "Cochepaille", "target": "Judge", "value": 2},
194
+    {"source": "Cochepaille", "target": "Champmathieu", "value": 2},
195
+    {"source": "Cochepaille", "target": "Brevet", "value": 2},
196
+    {"source": "Cochepaille", "target": "Chenildieu", "value": 2},
197
+    {"source": "Cochepaille", "target": "Valjean", "value": 2},
198
+    {"source": "Cochepaille", "target": "Bamatabois", "value": 1},
199
+    {"source": "Pontmercy", "target": "Thenardier", "value": 1},
200
+    {"source": "Boulatruelle", "target": "Thenardier", "value": 1},
201
+    {"source": "Eponine", "target": "Mme.Thenardier", "value": 2},
202
+    {"source": "Eponine", "target": "Thenardier", "value": 3},
203
+    {"source": "Anzelma", "target": "Eponine", "value": 2},
204
+    {"source": "Anzelma", "target": "Thenardier", "value": 2},
205
+    {"source": "Anzelma", "target": "Mme.Thenardier", "value": 1},
206
+    {"source": "Woman2", "target": "Valjean", "value": 3},
207
+    {"source": "Woman2", "target": "Cosette", "value": 1},
208
+    {"source": "Woman2", "target": "Javert", "value": 1},
209
+    {"source": "MotherInnocent", "target": "Fauchelevent", "value": 3},
210
+    {"source": "MotherInnocent", "target": "Valjean", "value": 1},
211
+    {"source": "Gribier", "target": "Fauchelevent", "value": 2},
212
+    {"source": "Mme.Burgon", "target": "Jondrette", "value": 1},
213
+    {"source": "Gavroche", "target": "Mme.Burgon", "value": 2},
214
+    {"source": "Gavroche", "target": "Thenardier", "value": 1},
215
+    {"source": "Gavroche", "target": "Javert", "value": 1},
216
+    {"source": "Gavroche", "target": "Valjean", "value": 1},
217
+    {"source": "Gillenormand", "target": "Cosette", "value": 3},
218
+    {"source": "Gillenormand", "target": "Valjean", "value": 2},
219
+    {"source": "Magnon", "target": "Gillenormand", "value": 1},
220
+    {"source": "Magnon", "target": "Mme.Thenardier", "value": 1},
221
+    {"source": "Mlle.Gillenormand", "target": "Gillenormand", "value": 9},
222
+    {"source": "Mlle.Gillenormand", "target": "Cosette", "value": 2},
223
+    {"source": "Mlle.Gillenormand", "target": "Valjean", "value": 2},
224
+    {"source": "Mme.Pontmercy", "target": "Mlle.Gillenormand", "value": 1},
225
+    {"source": "Mme.Pontmercy", "target": "Pontmercy", "value": 1},
226
+    {"source": "Mlle.Vaubois", "target": "Mlle.Gillenormand", "value": 1},
227
+    {"source": "Lt.Gillenormand", "target": "Mlle.Gillenormand", "value": 2},
228
+    {"source": "Lt.Gillenormand", "target": "Gillenormand", "value": 1},
229
+    {"source": "Lt.Gillenormand", "target": "Cosette", "value": 1},
230
+    {"source": "Marius", "target": "Mlle.Gillenormand", "value": 6},
231
+    {"source": "Marius", "target": "Gillenormand", "value": 12},
232
+    {"source": "Marius", "target": "Pontmercy", "value": 1},
233
+    {"source": "Marius", "target": "Lt.Gillenormand", "value": 1},
234
+    {"source": "Marius", "target": "Cosette", "value": 21},
235
+    {"source": "Marius", "target": "Valjean", "value": 19},
236
+    {"source": "Marius", "target": "Tholomyes", "value": 1},
237
+    {"source": "Marius", "target": "Thenardier", "value": 2},
238
+    {"source": "Marius", "target": "Eponine", "value": 5},
239
+    {"source": "Marius", "target": "Gavroche", "value": 4},
240
+    {"source": "BaronessT", "target": "Gillenormand", "value": 1},
241
+    {"source": "BaronessT", "target": "Marius", "value": 1},
242
+    {"source": "Mabeuf", "target": "Marius", "value": 1},
243
+    {"source": "Mabeuf", "target": "Eponine", "value": 1},
244
+    {"source": "Mabeuf", "target": "Gavroche", "value": 1},
245
+    {"source": "Enjolras", "target": "Marius", "value": 7},
246
+    {"source": "Enjolras", "target": "Gavroche", "value": 7},
247
+    {"source": "Enjolras", "target": "Javert", "value": 6},
248
+    {"source": "Enjolras", "target": "Mabeuf", "value": 1},
249
+    {"source": "Enjolras", "target": "Valjean", "value": 4},
250
+    {"source": "Combeferre", "target": "Enjolras", "value": 15},
251
+    {"source": "Combeferre", "target": "Marius", "value": 5},
252
+    {"source": "Combeferre", "target": "Gavroche", "value": 6},
253
+    {"source": "Combeferre", "target": "Mabeuf", "value": 2},
254
+    {"source": "Prouvaire", "target": "Gavroche", "value": 1},
255
+    {"source": "Prouvaire", "target": "Enjolras", "value": 4},
256
+    {"source": "Prouvaire", "target": "Combeferre", "value": 2},
257
+    {"source": "Feuilly", "target": "Gavroche", "value": 2},
258
+    {"source": "Feuilly", "target": "Enjolras", "value": 6},
259
+    {"source": "Feuilly", "target": "Prouvaire", "value": 2},
260
+    {"source": "Feuilly", "target": "Combeferre", "value": 5},
261
+    {"source": "Feuilly", "target": "Mabeuf", "value": 1},
262
+    {"source": "Feuilly", "target": "Marius", "value": 1},
263
+    {"source": "Courfeyrac", "target": "Marius", "value": 9},
264
+    {"source": "Courfeyrac", "target": "Enjolras", "value": 17},
265
+    {"source": "Courfeyrac", "target": "Combeferre", "value": 13},
266
+    {"source": "Courfeyrac", "target": "Gavroche", "value": 7},
267
+    {"source": "Courfeyrac", "target": "Mabeuf", "value": 2},
268
+    {"source": "Courfeyrac", "target": "Eponine", "value": 1},
269
+    {"source": "Courfeyrac", "target": "Feuilly", "value": 6},
270
+    {"source": "Courfeyrac", "target": "Prouvaire", "value": 3},
271
+    {"source": "Bahorel", "target": "Combeferre", "value": 5},
272
+    {"source": "Bahorel", "target": "Gavroche", "value": 5},
273
+    {"source": "Bahorel", "target": "Courfeyrac", "value": 6},
274
+    {"source": "Bahorel", "target": "Mabeuf", "value": 2},
275
+    {"source": "Bahorel", "target": "Enjolras", "value": 4},
276
+    {"source": "Bahorel", "target": "Feuilly", "value": 3},
277
+    {"source": "Bahorel", "target": "Prouvaire", "value": 2},
278
+    {"source": "Bahorel", "target": "Marius", "value": 1},
279
+    {"source": "Bossuet", "target": "Marius", "value": 5},
280
+    {"source": "Bossuet", "target": "Courfeyrac", "value": 12},
281
+    {"source": "Bossuet", "target": "Gavroche", "value": 5},
282
+    {"source": "Bossuet", "target": "Bahorel", "value": 4},
283
+    {"source": "Bossuet", "target": "Enjolras", "value": 10},
284
+    {"source": "Bossuet", "target": "Feuilly", "value": 6},
285
+    {"source": "Bossuet", "target": "Prouvaire", "value": 2},
286
+    {"source": "Bossuet", "target": "Combeferre", "value": 9},
287
+    {"source": "Bossuet", "target": "Mabeuf", "value": 1},
288
+    {"source": "Bossuet", "target": "Valjean", "value": 1},
289
+    {"source": "Joly", "target": "Bahorel", "value": 5},
290
+    {"source": "Joly", "target": "Bossuet", "value": 7},
291
+    {"source": "Joly", "target": "Gavroche", "value": 3},
292
+    {"source": "Joly", "target": "Courfeyrac", "value": 5},
293
+    {"source": "Joly", "target": "Enjolras", "value": 5},
294
+    {"source": "Joly", "target": "Feuilly", "value": 5},
295
+    {"source": "Joly", "target": "Prouvaire", "value": 2},
296
+    {"source": "Joly", "target": "Combeferre", "value": 5},
297
+    {"source": "Joly", "target": "Mabeuf", "value": 1},
298
+    {"source": "Joly", "target": "Marius", "value": 2},
299
+    {"source": "Grantaire", "target": "Bossuet", "value": 3},
300
+    {"source": "Grantaire", "target": "Enjolras", "value": 3},
301
+    {"source": "Grantaire", "target": "Combeferre", "value": 1},
302
+    {"source": "Grantaire", "target": "Courfeyrac", "value": 2},
303
+    {"source": "Grantaire", "target": "Joly", "value": 2},
304
+    {"source": "Grantaire", "target": "Gavroche", "value": 1},
305
+    {"source": "Grantaire", "target": "Bahorel", "value": 1},
306
+    {"source": "Grantaire", "target": "Feuilly", "value": 1},
307
+    {"source": "Grantaire", "target": "Prouvaire", "value": 1},
308
+    {"source": "MotherPlutarch", "target": "Mabeuf", "value": 3},
309
+    {"source": "Gueulemer", "target": "Thenardier", "value": 5},
310
+    {"source": "Gueulemer", "target": "Valjean", "value": 1},
311
+    {"source": "Gueulemer", "target": "Mme.Thenardier", "value": 1},
312
+    {"source": "Gueulemer", "target": "Javert", "value": 1},
313
+    {"source": "Gueulemer", "target": "Gavroche", "value": 1},
314
+    {"source": "Gueulemer", "target": "Eponine", "value": 1},
315
+    {"source": "Babet", "target": "Thenardier", "value": 6},
316
+    {"source": "Babet", "target": "Gueulemer", "value": 6},
317
+    {"source": "Babet", "target": "Valjean", "value": 1},
318
+    {"source": "Babet", "target": "Mme.Thenardier", "value": 1},
319
+    {"source": "Babet", "target": "Javert", "value": 2},
320
+    {"source": "Babet", "target": "Gavroche", "value": 1},
321
+    {"source": "Babet", "target": "Eponine", "value": 1},
322
+    {"source": "Claquesous", "target": "Thenardier", "value": 4},
323
+    {"source": "Claquesous", "target": "Babet", "value": 4},
324
+    {"source": "Claquesous", "target": "Gueulemer", "value": 4},
325
+    {"source": "Claquesous", "target": "Valjean", "value": 1},
326
+    {"source": "Claquesous", "target": "Mme.Thenardier", "value": 1},
327
+    {"source": "Claquesous", "target": "Javert", "value": 1},
328
+    {"source": "Claquesous", "target": "Eponine", "value": 1},
329
+    {"source": "Claquesous", "target": "Enjolras", "value": 1},
330
+    {"source": "Montparnasse", "target": "Javert", "value": 1},
331
+    {"source": "Montparnasse", "target": "Babet", "value": 2},
332
+    {"source": "Montparnasse", "target": "Gueulemer", "value": 2},
333
+    {"source": "Montparnasse", "target": "Claquesous", "value": 2},
334
+    {"source": "Montparnasse", "target": "Valjean", "value": 1},
335
+    {"source": "Montparnasse", "target": "Gavroche", "value": 1},
336
+    {"source": "Montparnasse", "target": "Eponine", "value": 1},
337
+    {"source": "Montparnasse", "target": "Thenardier", "value": 1},
338
+    {"source": "Toussaint", "target": "Cosette", "value": 2},
339
+    {"source": "Toussaint", "target": "Javert", "value": 1},
340
+    {"source": "Toussaint", "target": "Valjean", "value": 1},
341
+    {"source": "Child1", "target": "Gavroche", "value": 2},
342
+    {"source": "Child2", "target": "Gavroche", "value": 2},
343
+    {"source": "Child2", "target": "Child1", "value": 3},
344
+    {"source": "Brujon", "target": "Babet", "value": 3},
345
+    {"source": "Brujon", "target": "Gueulemer", "value": 3},
346
+    {"source": "Brujon", "target": "Thenardier", "value": 3},
347
+    {"source": "Brujon", "target": "Gavroche", "value": 1},
348
+    {"source": "Brujon", "target": "Eponine", "value": 1},
349
+    {"source": "Brujon", "target": "Claquesous", "value": 1},
350
+    {"source": "Brujon", "target": "Montparnasse", "value": 1},
351
+    {"source": "Mme.Hucheloup", "target": "Bossuet", "value": 1},
352
+    {"source": "Mme.Hucheloup", "target": "Joly", "value": 1},
353
+    {"source": "Mme.Hucheloup", "target": "Grantaire", "value": 1},
354
+    {"source": "Mme.Hucheloup", "target": "Bahorel", "value": 1},
355
+    {"source": "Mme.Hucheloup", "target": "Courfeyrac", "value": 1},
356
+    {"source": "Mme.Hucheloup", "target": "Gavroche", "value": 1},
357
+    {"source": "Mme.Hucheloup", "target": "Enjolras", "value": 1}
358
+  ]
359
+}
360
+
25 361
 
26 362
 var svg = d3.select("svg"),
27 363
     width = +svg.attr("width"),
@@ -34,8 +370,7 @@ var simulation = d3.forceSimulation()
34 370
     .force("charge", d3.forceManyBody())
35 371
     .force("center", d3.forceCenter(width / 2, height / 2));
36 372
 
37
-d3.json("miserables.json", function(error, graph) {
38
-  if (error) throw error;
373
+
39 374
 
40 375
   var link = svg.append("g")
41 376
       .attr("class", "links")
@@ -87,7 +422,6 @@ d3.json("miserables.json", function(error, graph) {
87 422
           return "translate(" + d.x + "," + d.y + ")";
88 423
         })
89 424
   }
90
-});
91 425
 
92 426
 function dragstarted(d) {
93 427
   if (!d3.event.active) simulation.alphaTarget(0.3).restart();

+ 99
- 68
src/main/html/js/d3/Word_Cloud_v1.html View File

@@ -1,81 +1,112 @@
1
-<!-- https://bl.ocks.org/wnghdcjfe/de87a75a9445c88061ad50edc1d4ac8d	-->
2
-<html>
3
-
4
-<head>
5
-    <meta charset="utf-8" />
6
-</head>
7
-<style>
8
-
9
-</style>
10
-
1
+<!DOCTYPE html>
11 2
 <body>
12 3
     <script src="https://d3js.org/d3.v3.min.js"></script>
13 4
     <script src="https://rawgit.com/jasondavies/d3-cloud/master/build/d3.layout.cloud.js" type="text/JavaScript"></script>
14 5
     <script>
15
-        var width = 960,
16
-            height = 500
6
+        var skillsToDraw = [
7
+    	{ text: 'javascript', size: 40 },
8
+    	{ text: 'D3.js', size: 15 },
9
+    	{ text: 'coffeescript', size: 25 },
10
+    	{ text: 'shaving sheep', size: 25 },
11
+    	{ text: 'AngularJS', size: 30 },
12
+    	{ text: 'Ruby', size: 30 },
13
+    	{ text: 'ECMAScript', size: 15 },
14
+    	{ text: 'Actionscript', size: 10 },
15
+    	{ text: 'Linux', size: 20 },
16
+    	{ text: 'C++', size: 20 },
17
+    	{ text: 'C#', size: 25 },
18
+    	{ text: 'JAVA', size: 38 },
19
+      // just copy twice for extra data, else the cloud is a little boring
20
+    	{ text: 'javascript', size: 40 },
21
+    	{ text: 'D3.js', size: 15 },
22
+    	{ text: 'coffeescript', size: 25 },
23
+    	{ text: 'shaving sheep', size: 25 },
24
+    	{ text: 'AngularJS', size: 30 },
25
+    	{ text: 'Ruby', size: 30 },
26
+    	{ text: 'ECMAScript', size: 15 },
27
+    	{ text: 'Actionscript', size: 10 },
28
+    	{ text: 'Linux', size: 20 },
29
+    	{ text: 'C++', size: 20 },
30
+    	{ text: 'C#', size: 25 },
31
+    	{ text: 'JAVA', size: 38 },
32
+    	{ text: 'javascript', size: 40 },
33
+    	{ text: 'D3.js', size: 15 },
34
+    	{ text: 'coffeescript', size: 25 },
35
+    	{ text: 'shaving sheep', size: 25 },
36
+    	{ text: 'AngularJS', size: 30 },
37
+    	{ text: 'Ruby', size: 30 },
38
+    	{ text: 'ECMAScript', size: 15 },
39
+    	{ text: 'Actionscript', size: 10 },
40
+    	{ text: 'Linux', size: 20 },
41
+    	{ text: 'C++', size: 20 },
42
+    	{ text: 'C#', size: 25 },
43
+    	{ text: 'JAVA', size: 38 }
44
+    ];
17 45
 
18
-        var svg = d3.select("body").append("svg")
46
+	// Next you need to use the layout script to calculate the placement, rotation and size of each word:
47
+
48
+	var width = 960;
49
+	var height = 500;
50
+	var fill = d3.scale.category20();
51
+	
52
+	var svg = d3.select("body").append("svg")
19 53
             .attr("width", width)
20 54
             .attr("height", height);
21
-        d3.csv("worddata.csv", function (data) {
22
-            showCloud(data)
23
-            setInterval(function(){
24
-                 showCloud(data)
25
-            },2000) 
26
-        });
27
-        //scale.linear: 선형적인 스케일로 표준화를 시킨다. 
28
-        //domain: 데이터의 범위, 입력 크기
29
-        //range: 표시할 범위, 출력 크기 
30
-        //clamp: domain의 범위를 넘어간 값에 대하여 domain의 최대값으로 고정시킨다.
31
-        wordScale = d3.scale.linear().domain([0, 100]).range([0, 150]).clamp(true);
32
-        var keywords = ["자리야", "트레이서", "한조"]
33
-        var svg = d3.select("svg")
55
+    var svg = d3.select("svg")
34 56
                     .append("g")
35 57
                     .attr("transform", "translate(" + width / 2 + "," + height / 2 + ")")
58
+	var keywords = ["JavaScript", "Actionscript", "coffeescript"]
59
+	function showCloud(words) {
60
+	    d3.layout.cloud()
61
+	    	.size([width, height])
62
+	    	.words(words)
63
+	    	.rotate(function() {
64
+	    		return ~~(Math.random() * 2) * 90;
65
+	    	})
66
+	    	.font("Impact")
67
+	    	.fontSize(function(d) {
68
+	    		return d.size;
69
+	    	})
70
+	    	.on("end", drawSkillCloud)
71
+	    	.start();
72
+	}
73
+	showCloud(skillsToDraw);
74
+	
75
+	// Finally implement `drawSkillCloud`, which performs the D3 drawing:
36 76
 
37
-        function showCloud(data) {
38
-            d3.layout.cloud().size([width, height])
39
-                //클라우드 레이아웃에 데이터 전달
40
-                .words(data)
41
-                .rotate(function (d) {
42
-                    return d.text.length > 3 ? 0 : 90;
43
-                })
44
-                //스케일로 각 단어의 크기를 설정
45
-                .fontSize(function (d) {
46
-                    return wordScale(d.frequency);
47
-                })
48
-                //클라우드 레이아웃을 초기화 > end이벤트 발생 > 연결된 함수 작동  
49
-                .on("end", draw)
50
-                .start();
51
-
52
-            function draw(words) { 
53
-                var cloud = svg.selectAll("text").data(words)
54
-                //Entering words
55
-                cloud.enter()
56
-                    .append("text")
57
-                    .style("font-family", "overwatch")
58
-                    .style("fill", function (d) {
59
-                        return (keywords.indexOf(d.text) > -1 ? "#fbc280" : "#405275");
60
-                    })
61
-                    .style("fill-opacity", .5)
62
-                    .attr("text-anchor", "middle") 
63
-                    .attr('font-size', 1)
64
-                    .text(function (d) {
65
-                        return d.text;
66
-                    }); 
67
-                cloud
68
-                    .transition()
69
-                    .duration(600)
70
-                    .style("font-size", function (d) {
71
-                        return d.size + "px";
72
-                    })
73
-                    .attr("transform", function (d) {
74
-                        return "translate(" + [d.x, d.y] + ")rotate(" + d.rotate + ")";
75
-                    })
76
-                    .style("fill-opacity", 1); 
77
-            }
78
-        }
77
+    // apply D3.js drawing API
78
+    function drawSkillCloud(words) {
79
+    	var cloud = svg.selectAll("text").data(words)
80
+			//Entering words
81
+			cloud.enter()
82
+				.append("text")
83
+				.style("font-family", "overwatch")
84
+				.style("fill", function (d) {
85
+					return (keywords.indexOf(d.text) > -1 ? "#fbc280" : "#405275");
86
+				})
87
+				.style("fill-opacity", .5)
88
+				.attr("text-anchor", "middle") 
89
+				.attr('font-size', 1)
90
+				.text(function (d) {
91
+					return d.text;
92
+				}); 
93
+			cloud
94
+				.transition()
95
+				.duration(600)
96
+				.style("font-size", function (d) {
97
+					return d.size + "px";
98
+				})
99
+				.attr("transform", function (d) {
100
+					return "translate(" + [d.x, d.y] + ")rotate(" + d.rotate + ")";
101
+				})
102
+				.style("fill-opacity", 1); 
103
+    }
104
+    
105
+	// set the viewbox to content bounding box (zooming in on the content, effectively trimming whitespace)
106
+	setInterval(function(){
107
+    	showCloud(skillsToDraw);
108
+    },2000) 
109
+    
79 110
     </script>
80 111
 </body>
81 112
 </html>

+ 0
- 337
src/main/html/js/d3/miserables.json View File

@@ -1,337 +0,0 @@
1
-{
2
-  "nodes": [
3
-    {"id": "Myriel", "group": 1},
4
-    {"id": "Napoleon", "group": 1},
5
-    {"id": "Mlle.Baptistine", "group": 1},
6
-    {"id": "Mme.Magloire", "group": 1},
7
-    {"id": "CountessdeLo", "group": 1},
8
-    {"id": "Geborand", "group": 1},
9
-    {"id": "Champtercier", "group": 1},
10
-    {"id": "Cravatte", "group": 1},
11
-    {"id": "Count", "group": 1},
12
-    {"id": "OldMan", "group": 1},
13
-    {"id": "Labarre", "group": 2},
14
-    {"id": "Valjean", "group": 2},
15
-    {"id": "Marguerite", "group": 3},
16
-    {"id": "Mme.deR", "group": 2},
17
-    {"id": "Isabeau", "group": 2},
18
-    {"id": "Gervais", "group": 2},
19
-    {"id": "Tholomyes", "group": 3},
20
-    {"id": "Listolier", "group": 3},
21
-    {"id": "Fameuil", "group": 3},
22
-    {"id": "Blacheville", "group": 3},
23
-    {"id": "Favourite", "group": 3},
24
-    {"id": "Dahlia", "group": 3},
25
-    {"id": "Zephine", "group": 3},
26
-    {"id": "Fantine", "group": 3},
27
-    {"id": "Mme.Thenardier", "group": 4},
28
-    {"id": "Thenardier", "group": 4},
29
-    {"id": "Cosette", "group": 5},
30
-    {"id": "Javert", "group": 4},
31
-    {"id": "Fauchelevent", "group": 0},
32
-    {"id": "Bamatabois", "group": 2},
33
-    {"id": "Perpetue", "group": 3},
34
-    {"id": "Simplice", "group": 2},
35
-    {"id": "Scaufflaire", "group": 2},
36
-    {"id": "Woman1", "group": 2},
37
-    {"id": "Judge", "group": 2},
38
-    {"id": "Champmathieu", "group": 2},
39
-    {"id": "Brevet", "group": 2},
40
-    {"id": "Chenildieu", "group": 2},
41
-    {"id": "Cochepaille", "group": 2},
42
-    {"id": "Pontmercy", "group": 4},
43
-    {"id": "Boulatruelle", "group": 6},
44
-    {"id": "Eponine", "group": 4},
45
-    {"id": "Anzelma", "group": 4},
46
-    {"id": "Woman2", "group": 5},
47
-    {"id": "MotherInnocent", "group": 0},
48
-    {"id": "Gribier", "group": 0},
49
-    {"id": "Jondrette", "group": 7},
50
-    {"id": "Mme.Burgon", "group": 7},
51
-    {"id": "Gavroche", "group": 8},
52
-    {"id": "Gillenormand", "group": 5},
53
-    {"id": "Magnon", "group": 5},
54
-    {"id": "Mlle.Gillenormand", "group": 5},
55
-    {"id": "Mme.Pontmercy", "group": 5},
56
-    {"id": "Mlle.Vaubois", "group": 5},
57
-    {"id": "Lt.Gillenormand", "group": 5},
58
-    {"id": "Marius", "group": 8},
59
-    {"id": "BaronessT", "group": 5},
60
-    {"id": "Mabeuf", "group": 8},
61
-    {"id": "Enjolras", "group": 8},
62
-    {"id": "Combeferre", "group": 8},
63
-    {"id": "Prouvaire", "group": 8},
64
-    {"id": "Feuilly", "group": 8},
65
-    {"id": "Courfeyrac", "group": 8},
66
-    {"id": "Bahorel", "group": 8},
67
-    {"id": "Bossuet", "group": 8},
68
-    {"id": "Joly", "group": 8},
69
-    {"id": "Grantaire", "group": 8},
70
-    {"id": "MotherPlutarch", "group": 9},
71
-    {"id": "Gueulemer", "group": 4},
72
-    {"id": "Babet", "group": 4},
73
-    {"id": "Claquesous", "group": 4},
74
-    {"id": "Montparnasse", "group": 4},
75
-    {"id": "Toussaint", "group": 5},
76
-    {"id": "Child1", "group": 10},
77
-    {"id": "Child2", "group": 10},
78
-    {"id": "Brujon", "group": 4},
79
-    {"id": "Mme.Hucheloup", "group": 8}
80
-  ],
81
-  "links": [
82
-    {"source": "Napoleon", "target": "Myriel", "value": 1},
83
-    {"source": "Mlle.Baptistine", "target": "Myriel", "value": 8},
84
-    {"source": "Mme.Magloire", "target": "Myriel", "value": 10},
85
-    {"source": "Mme.Magloire", "target": "Mlle.Baptistine", "value": 6},
86
-    {"source": "CountessdeLo", "target": "Myriel", "value": 1},
87
-    {"source": "Geborand", "target": "Myriel", "value": 1},
88
-    {"source": "Champtercier", "target": "Myriel", "value": 1},
89
-    {"source": "Cravatte", "target": "Myriel", "value": 1},
90
-    {"source": "Count", "target": "Myriel", "value": 2},
91
-    {"source": "OldMan", "target": "Myriel", "value": 1},
92
-    {"source": "Valjean", "target": "Labarre", "value": 1},
93
-    {"source": "Valjean", "target": "Mme.Magloire", "value": 3},
94
-    {"source": "Valjean", "target": "Mlle.Baptistine", "value": 3},
95
-    {"source": "Valjean", "target": "Myriel", "value": 5},
96
-    {"source": "Marguerite", "target": "Valjean", "value": 1},
97
-    {"source": "Mme.deR", "target": "Valjean", "value": 1},
98
-    {"source": "Isabeau", "target": "Valjean", "value": 1},
99
-    {"source": "Gervais", "target": "Valjean", "value": 1},
100
-    {"source": "Listolier", "target": "Tholomyes", "value": 4},
101
-    {"source": "Fameuil", "target": "Tholomyes", "value": 4},
102
-    {"source": "Fameuil", "target": "Listolier", "value": 4},
103
-    {"source": "Blacheville", "target": "Tholomyes", "value": 4},
104
-    {"source": "Blacheville", "target": "Listolier", "value": 4},
105
-    {"source": "Blacheville", "target": "Fameuil", "value": 4},
106
-    {"source": "Favourite", "target": "Tholomyes", "value": 3},
107
-    {"source": "Favourite", "target": "Listolier", "value": 3},
108
-    {"source": "Favourite", "target": "Fameuil", "value": 3},
109
-    {"source": "Favourite", "target": "Blacheville", "value": 4},
110
-    {"source": "Dahlia", "target": "Tholomyes", "value": 3},
111
-    {"source": "Dahlia", "target": "Listolier", "value": 3},
112
-    {"source": "Dahlia", "target": "Fameuil", "value": 3},
113
-    {"source": "Dahlia", "target": "Blacheville", "value": 3},
114
-    {"source": "Dahlia", "target": "Favourite", "value": 5},
115
-    {"source": "Zephine", "target": "Tholomyes", "value": 3},
116
-    {"source": "Zephine", "target": "Listolier", "value": 3},
117
-    {"source": "Zephine", "target": "Fameuil", "value": 3},
118
-    {"source": "Zephine", "target": "Blacheville", "value": 3},
119
-    {"source": "Zephine", "target": "Favourite", "value": 4},
120
-    {"source": "Zephine", "target": "Dahlia", "value": 4},
121
-    {"source": "Fantine", "target": "Tholomyes", "value": 3},
122
-    {"source": "Fantine", "target": "Listolier", "value": 3},
123
-    {"source": "Fantine", "target": "Fameuil", "value": 3},
124
-    {"source": "Fantine", "target": "Blacheville", "value": 3},
125
-    {"source": "Fantine", "target": "Favourite", "value": 4},
126
-    {"source": "Fantine", "target": "Dahlia", "value": 4},
127
-    {"source": "Fantine", "target": "Zephine", "value": 4},
128
-    {"source": "Fantine", "target": "Marguerite", "value": 2},
129
-    {"source": "Fantine", "target": "Valjean", "value": 9},
130
-    {"source": "Mme.Thenardier", "target": "Fantine", "value": 2},
131
-    {"source": "Mme.Thenardier", "target": "Valjean", "value": 7},
132
-    {"source": "Thenardier", "target": "Mme.Thenardier", "value": 13},
133
-    {"source": "Thenardier", "target": "Fantine", "value": 1},
134
-    {"source": "Thenardier", "target": "Valjean", "value": 12},
135
-    {"source": "Cosette", "target": "Mme.Thenardier", "value": 4},
136
-    {"source": "Cosette", "target": "Valjean", "value": 31},
137
-    {"source": "Cosette", "target": "Tholomyes", "value": 1},
138
-    {"source": "Cosette", "target": "Thenardier", "value": 1},
139
-    {"source": "Javert", "target": "Valjean", "value": 17},
140
-    {"source": "Javert", "target": "Fantine", "value": 5},
141
-    {"source": "Javert", "target": "Thenardier", "value": 5},
142
-    {"source": "Javert", "target": "Mme.Thenardier", "value": 1},
143
-    {"source": "Javert", "target": "Cosette", "value": 1},
144
-    {"source": "Fauchelevent", "target": "Valjean", "value": 8},
145
-    {"source": "Fauchelevent", "target": "Javert", "value": 1},
146
-    {"source": "Bamatabois", "target": "Fantine", "value": 1},
147
-    {"source": "Bamatabois", "target": "Javert", "value": 1},
148
-    {"source": "Bamatabois", "target": "Valjean", "value": 2},
149
-    {"source": "Perpetue", "target": "Fantine", "value": 1},
150
-    {"source": "Simplice", "target": "Perpetue", "value": 2},
151
-    {"source": "Simplice", "target": "Valjean", "value": 3},
152
-    {"source": "Simplice", "target": "Fantine", "value": 2},
153
-    {"source": "Simplice", "target": "Javert", "value": 1},
154
-    {"source": "Scaufflaire", "target": "Valjean", "value": 1},
155
-    {"source": "Woman1", "target": "Valjean", "value": 2},
156
-    {"source": "Woman1", "target": "Javert", "value": 1},
157
-    {"source": "Judge", "target": "Valjean", "value": 3},
158
-    {"source": "Judge", "target": "Bamatabois", "value": 2},
159
-    {"source": "Champmathieu", "target": "Valjean", "value": 3},
160
-    {"source": "Champmathieu", "target": "Judge", "value": 3},
161
-    {"source": "Champmathieu", "target": "Bamatabois", "value": 2},
162
-    {"source": "Brevet", "target": "Judge", "value": 2},
163
-    {"source": "Brevet", "target": "Champmathieu", "value": 2},
164
-    {"source": "Brevet", "target": "Valjean", "value": 2},
165
-    {"source": "Brevet", "target": "Bamatabois", "value": 1},
166
-    {"source": "Chenildieu", "target": "Judge", "value": 2},
167
-    {"source": "Chenildieu", "target": "Champmathieu", "value": 2},
168
-    {"source": "Chenildieu", "target": "Brevet", "value": 2},
169
-    {"source": "Chenildieu", "target": "Valjean", "value": 2},
170
-    {"source": "Chenildieu", "target": "Bamatabois", "value": 1},
171
-    {"source": "Cochepaille", "target": "Judge", "value": 2},
172
-    {"source": "Cochepaille", "target": "Champmathieu", "value": 2},
173
-    {"source": "Cochepaille", "target": "Brevet", "value": 2},
174
-    {"source": "Cochepaille", "target": "Chenildieu", "value": 2},
175
-    {"source": "Cochepaille", "target": "Valjean", "value": 2},
176
-    {"source": "Cochepaille", "target": "Bamatabois", "value": 1},
177
-    {"source": "Pontmercy", "target": "Thenardier", "value": 1},
178
-    {"source": "Boulatruelle", "target": "Thenardier", "value": 1},
179
-    {"source": "Eponine", "target": "Mme.Thenardier", "value": 2},
180
-    {"source": "Eponine", "target": "Thenardier", "value": 3},
181
-    {"source": "Anzelma", "target": "Eponine", "value": 2},
182
-    {"source": "Anzelma", "target": "Thenardier", "value": 2},
183
-    {"source": "Anzelma", "target": "Mme.Thenardier", "value": 1},
184
-    {"source": "Woman2", "target": "Valjean", "value": 3},
185
-    {"source": "Woman2", "target": "Cosette", "value": 1},
186
-    {"source": "Woman2", "target": "Javert", "value": 1},
187
-    {"source": "MotherInnocent", "target": "Fauchelevent", "value": 3},
188
-    {"source": "MotherInnocent", "target": "Valjean", "value": 1},
189
-    {"source": "Gribier", "target": "Fauchelevent", "value": 2},
190
-    {"source": "Mme.Burgon", "target": "Jondrette", "value": 1},
191
-    {"source": "Gavroche", "target": "Mme.Burgon", "value": 2},
192
-    {"source": "Gavroche", "target": "Thenardier", "value": 1},
193
-    {"source": "Gavroche", "target": "Javert", "value": 1},
194
-    {"source": "Gavroche", "target": "Valjean", "value": 1},
195
-    {"source": "Gillenormand", "target": "Cosette", "value": 3},
196
-    {"source": "Gillenormand", "target": "Valjean", "value": 2},
197
-    {"source": "Magnon", "target": "Gillenormand", "value": 1},
198
-    {"source": "Magnon", "target": "Mme.Thenardier", "value": 1},
199
-    {"source": "Mlle.Gillenormand", "target": "Gillenormand", "value": 9},
200
-    {"source": "Mlle.Gillenormand", "target": "Cosette", "value": 2},
201
-    {"source": "Mlle.Gillenormand", "target": "Valjean", "value": 2},
202
-    {"source": "Mme.Pontmercy", "target": "Mlle.Gillenormand", "value": 1},
203
-    {"source": "Mme.Pontmercy", "target": "Pontmercy", "value": 1},
204
-    {"source": "Mlle.Vaubois", "target": "Mlle.Gillenormand", "value": 1},
205
-    {"source": "Lt.Gillenormand", "target": "Mlle.Gillenormand", "value": 2},
206
-    {"source": "Lt.Gillenormand", "target": "Gillenormand", "value": 1},
207
-    {"source": "Lt.Gillenormand", "target": "Cosette", "value": 1},
208
-    {"source": "Marius", "target": "Mlle.Gillenormand", "value": 6},
209
-    {"source": "Marius", "target": "Gillenormand", "value": 12},
210
-    {"source": "Marius", "target": "Pontmercy", "value": 1},
211
-    {"source": "Marius", "target": "Lt.Gillenormand", "value": 1},
212
-    {"source": "Marius", "target": "Cosette", "value": 21},
213
-    {"source": "Marius", "target": "Valjean", "value": 19},
214
-    {"source": "Marius", "target": "Tholomyes", "value": 1},
215
-    {"source": "Marius", "target": "Thenardier", "value": 2},
216
-    {"source": "Marius", "target": "Eponine", "value": 5},
217
-    {"source": "Marius", "target": "Gavroche", "value": 4},
218
-    {"source": "BaronessT", "target": "Gillenormand", "value": 1},
219
-    {"source": "BaronessT", "target": "Marius", "value": 1},
220
-    {"source": "Mabeuf", "target": "Marius", "value": 1},
221
-    {"source": "Mabeuf", "target": "Eponine", "value": 1},
222
-    {"source": "Mabeuf", "target": "Gavroche", "value": 1},
223
-    {"source": "Enjolras", "target": "Marius", "value": 7},
224
-    {"source": "Enjolras", "target": "Gavroche", "value": 7},
225
-    {"source": "Enjolras", "target": "Javert", "value": 6},
226
-    {"source": "Enjolras", "target": "Mabeuf", "value": 1},
227
-    {"source": "Enjolras", "target": "Valjean", "value": 4},
228
-    {"source": "Combeferre", "target": "Enjolras", "value": 15},
229
-    {"source": "Combeferre", "target": "Marius", "value": 5},
230
-    {"source": "Combeferre", "target": "Gavroche", "value": 6},
231
-    {"source": "Combeferre", "target": "Mabeuf", "value": 2},
232
-    {"source": "Prouvaire", "target": "Gavroche", "value": 1},
233
-    {"source": "Prouvaire", "target": "Enjolras", "value": 4},
234
-    {"source": "Prouvaire", "target": "Combeferre", "value": 2},
235
-    {"source": "Feuilly", "target": "Gavroche", "value": 2},
236
-    {"source": "Feuilly", "target": "Enjolras", "value": 6},
237
-    {"source": "Feuilly", "target": "Prouvaire", "value": 2},
238
-    {"source": "Feuilly", "target": "Combeferre", "value": 5},
239
-    {"source": "Feuilly", "target": "Mabeuf", "value": 1},
240
-    {"source": "Feuilly", "target": "Marius", "value": 1},
241
-    {"source": "Courfeyrac", "target": "Marius", "value": 9},
242
-    {"source": "Courfeyrac", "target": "Enjolras", "value": 17},
243
-    {"source": "Courfeyrac", "target": "Combeferre", "value": 13},
244
-    {"source": "Courfeyrac", "target": "Gavroche", "value": 7},
245
-    {"source": "Courfeyrac", "target": "Mabeuf", "value": 2},
246
-    {"source": "Courfeyrac", "target": "Eponine", "value": 1},
247
-    {"source": "Courfeyrac", "target": "Feuilly", "value": 6},
248
-    {"source": "Courfeyrac", "target": "Prouvaire", "value": 3},
249
-    {"source": "Bahorel", "target": "Combeferre", "value": 5},
250
-    {"source": "Bahorel", "target": "Gavroche", "value": 5},
251
-    {"source": "Bahorel", "target": "Courfeyrac", "value": 6},
252
-    {"source": "Bahorel", "target": "Mabeuf", "value": 2},
253
-    {"source": "Bahorel", "target": "Enjolras", "value": 4},
254
-    {"source": "Bahorel", "target": "Feuilly", "value": 3},
255
-    {"source": "Bahorel", "target": "Prouvaire", "value": 2},
256
-    {"source": "Bahorel", "target": "Marius", "value": 1},
257
-    {"source": "Bossuet", "target": "Marius", "value": 5},
258
-    {"source": "Bossuet", "target": "Courfeyrac", "value": 12},
259
-    {"source": "Bossuet", "target": "Gavroche", "value": 5},
260
-    {"source": "Bossuet", "target": "Bahorel", "value": 4},
261
-    {"source": "Bossuet", "target": "Enjolras", "value": 10},
262
-    {"source": "Bossuet", "target": "Feuilly", "value": 6},
263
-    {"source": "Bossuet", "target": "Prouvaire", "value": 2},
264
-    {"source": "Bossuet", "target": "Combeferre", "value": 9},
265
-    {"source": "Bossuet", "target": "Mabeuf", "value": 1},
266
-    {"source": "Bossuet", "target": "Valjean", "value": 1},
267
-    {"source": "Joly", "target": "Bahorel", "value": 5},
268
-    {"source": "Joly", "target": "Bossuet", "value": 7},
269
-    {"source": "Joly", "target": "Gavroche", "value": 3},
270
-    {"source": "Joly", "target": "Courfeyrac", "value": 5},
271
-    {"source": "Joly", "target": "Enjolras", "value": 5},
272
-    {"source": "Joly", "target": "Feuilly", "value": 5},
273
-    {"source": "Joly", "target": "Prouvaire", "value": 2},
274
-    {"source": "Joly", "target": "Combeferre", "value": 5},
275
-    {"source": "Joly", "target": "Mabeuf", "value": 1},
276
-    {"source": "Joly", "target": "Marius", "value": 2},
277
-    {"source": "Grantaire", "target": "Bossuet", "value": 3},
278
-    {"source": "Grantaire", "target": "Enjolras", "value": 3},
279
-    {"source": "Grantaire", "target": "Combeferre", "value": 1},
280
-    {"source": "Grantaire", "target": "Courfeyrac", "value": 2},
281
-    {"source": "Grantaire", "target": "Joly", "value": 2},
282
-    {"source": "Grantaire", "target": "Gavroche", "value": 1},
283
-    {"source": "Grantaire", "target": "Bahorel", "value": 1},
284
-    {"source": "Grantaire", "target": "Feuilly", "value": 1},
285
-    {"source": "Grantaire", "target": "Prouvaire", "value": 1},
286
-    {"source": "MotherPlutarch", "target": "Mabeuf", "value": 3},
287
-    {"source": "Gueulemer", "target": "Thenardier", "value": 5},
288
-    {"source": "Gueulemer", "target": "Valjean", "value": 1},
289
-    {"source": "Gueulemer", "target": "Mme.Thenardier", "value": 1},
290
-    {"source": "Gueulemer", "target": "Javert", "value": 1},
291
-    {"source": "Gueulemer", "target": "Gavroche", "value": 1},
292
-    {"source": "Gueulemer", "target": "Eponine", "value": 1},
293
-    {"source": "Babet", "target": "Thenardier", "value": 6},
294
-    {"source": "Babet", "target": "Gueulemer", "value": 6},
295
-    {"source": "Babet", "target": "Valjean", "value": 1},
296
-    {"source": "Babet", "target": "Mme.Thenardier", "value": 1},
297
-    {"source": "Babet", "target": "Javert", "value": 2},
298
-    {"source": "Babet", "target": "Gavroche", "value": 1},
299
-    {"source": "Babet", "target": "Eponine", "value": 1},
300
-    {"source": "Claquesous", "target": "Thenardier", "value": 4},
301
-    {"source": "Claquesous", "target": "Babet", "value": 4},
302
-    {"source": "Claquesous", "target": "Gueulemer", "value": 4},
303
-    {"source": "Claquesous", "target": "Valjean", "value": 1},
304
-    {"source": "Claquesous", "target": "Mme.Thenardier", "value": 1},
305
-    {"source": "Claquesous", "target": "Javert", "value": 1},
306
-    {"source": "Claquesous", "target": "Eponine", "value": 1},
307
-    {"source": "Claquesous", "target": "Enjolras", "value": 1},
308
-    {"source": "Montparnasse", "target": "Javert", "value": 1},
309
-    {"source": "Montparnasse", "target": "Babet", "value": 2},
310
-    {"source": "Montparnasse", "target": "Gueulemer", "value": 2},
311
-    {"source": "Montparnasse", "target": "Claquesous", "value": 2},
312
-    {"source": "Montparnasse", "target": "Valjean", "value": 1},
313
-    {"source": "Montparnasse", "target": "Gavroche", "value": 1},
314
-    {"source": "Montparnasse", "target": "Eponine", "value": 1},
315
-    {"source": "Montparnasse", "target": "Thenardier", "value": 1},
316
-    {"source": "Toussaint", "target": "Cosette", "value": 2},
317
-    {"source": "Toussaint", "target": "Javert", "value": 1},
318
-    {"source": "Toussaint", "target": "Valjean", "value": 1},
319
-    {"source": "Child1", "target": "Gavroche", "value": 2},
320
-    {"source": "Child2", "target": "Gavroche", "value": 2},
321
-    {"source": "Child2", "target": "Child1", "value": 3},
322
-    {"source": "Brujon", "target": "Babet", "value": 3},
323
-    {"source": "Brujon", "target": "Gueulemer", "value": 3},
324
-    {"source": "Brujon", "target": "Thenardier", "value": 3},
325
-    {"source": "Brujon", "target": "Gavroche", "value": 1},
326
-    {"source": "Brujon", "target": "Eponine", "value": 1},
327
-    {"source": "Brujon", "target": "Claquesous", "value": 1},
328
-    {"source": "Brujon", "target": "Montparnasse", "value": 1},
329
-    {"source": "Mme.Hucheloup", "target": "Bossuet", "value": 1},
330
-    {"source": "Mme.Hucheloup", "target": "Joly", "value": 1},
331
-    {"source": "Mme.Hucheloup", "target": "Grantaire", "value": 1},
332
-    {"source": "Mme.Hucheloup", "target": "Bahorel", "value": 1},
333
-    {"source": "Mme.Hucheloup", "target": "Courfeyrac", "value": 1},
334
-    {"source": "Mme.Hucheloup", "target": "Gavroche", "value": 1},
335
-    {"source": "Mme.Hucheloup", "target": "Enjolras", "value": 1}
336
-  ]
337
-}

+ 0
- 19
src/main/html/js/d3/worddata.csv View File

@@ -1,19 +0,0 @@
1
-text,frequency
2
-자리야,80
3
-트레이서,100
4
-한조,20
5
-솔져,60
6
-시메트라,50
7
-윈스턴,30
8
-라인하르트,30 
9
-아나,20
10
-맥크리,20
11
-메르시,20
12
-박종선,20
13
-연제호,20
14
-최주원,20
15
-윤성용,20
16
-양영주,20
17
-준바,20
18
-로드호그,20
19
-정크랫,20