-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharcane_visualization_arrows.html
127 lines (78 loc) · 9 KB
/
arcane_visualization_arrows.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<html>
<head>
<meta charset="utf-8">
<script src="lib/bindings/utils.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/dist/vis-network.min.css" integrity="sha512-WgxfT5LWjfszlPHXRmBWHkV2eceiWTOBvrKCNbdgDYTHrT2AeLCGbF4sZlZw3UMN3WtL0tGUoIAKsu8mllg/XA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/vis-network.min.js" integrity="sha512-LnvoEWDFrqGHlHmDD2101OrLcbsfkrzoSpvtSQtxK3RMnRV0eOkhhBN2dXHKRrUU8p2DGRTk35n4O8nWSVe1mQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<center>
<h1></h1>
</center>
<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous"
/>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
crossorigin="anonymous"
></script>
<center>
<h1></h1>
</center>
<style type="text/css">
#mynetwork {
width: 100%;
height: 750px;
background-color: #000000;
border: 1px solid lightgray;
position: relative;
float: left;
}
</style>
</head>
<body>
<div class="card" style="width: 100%">
<div id="mynetwork" class="card-body"></div>
</div>
<script type="text/javascript">
// initialize global variables.
var edges;
var nodes;
var allNodes;
var allEdges;
var nodeColors;
var originalNodes;
var network;
var container;
var options, data;
var filter = {
item : '',
property : '',
value : []
};
// This method is responsible for drawing the graph, returns the drawn network
function drawGraph() {
var container = document.getElementById('mynetwork');
// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet([{"color": "rgba(116, 185, 255, 0.95)", "font": {"color": "white"}, "id": "Vi", "label": "Vi", "shape": "ellipse", "size": 75, "title": "Role: Hero\u003cbr\u003eStatus: Alive\u003cbr\u003eFaction: Zaun"}, {"color": "rgba(231, 112, 85, 0.95)", "font": {"color": "white"}, "id": "Jinx", "label": "Jinx", "shape": "ellipse", "size": 60, "title": "Role: Villain\u003cbr\u003eStatus: Alive\u003cbr\u003eFaction: Zaun"}, {"color": "rgba(116, 185, 255, 0.95)", "font": {"color": "white"}, "id": "Caitlyn", "label": "Caitlyn", "shape": "ellipse", "size": 75, "title": "Role: Hero\u003cbr\u003eStatus: Alive\u003cbr\u003eFaction: Piltover"}, {"color": "rgba(116, 185, 255, 0.95)", "font": {"color": "white"}, "id": "Jayce", "label": "Jayce", "shape": "ellipse", "size": 60, "title": "Role: Hero\u003cbr\u003eStatus: Alive\u003cbr\u003eFaction: Piltover"}, {"color": "rgba(231, 112, 85, 0.95)", "font": {"color": "white"}, "id": "Viktor", "label": "Viktor", "shape": "ellipse", "size": 45, "title": "Role: Villain\u003cbr\u003eStatus: Alive\u003cbr\u003eFaction: Zaun"}, {"color": "rgba(231, 112, 85, 0.95)", "font": {"color": "white"}, "id": "Silco", "label": "Silco", "shape": "ellipse", "size": 15, "title": "Role: Villain\u003cbr\u003eStatus: Dead\u003cbr\u003eFaction: Zaun"}, {"color": "rgba(0, 206, 201, 0.95)", "font": {"color": "white"}, "id": "Heimerdinger", "label": "Heimerdinger", "shape": "dot", "size": 30, "title": "Role: Mentor\u003cbr\u003eStatus: Alive\u003cbr\u003eFaction: Piltover"}, {"color": "rgba(99, 110, 114, 0.95)", "font": {"color": "white"}, "id": "Mel", "label": "Mel", "shape": "dot", "size": 15, "title": "Role: Politician\u003cbr\u003eStatus: Alive\u003cbr\u003eFaction: Piltover"}, {"color": "rgba(108, 92, 231, 0.95)", "font": {"color": "white"}, "id": "Ekko", "label": "Ekko", "shape": "dot", "size": 30, "title": "Role: Rebel\u003cbr\u003eStatus: Alive\u003cbr\u003eFaction: Zaun"}, {"color": "rgba(223, 230, 233, 0.95)", "font": {"color": "white"}, "id": "Sevika", "label": "Sevika", "shape": "dot", "size": 15, "title": "Role: Lieutenant\u003cbr\u003eStatus: Alive\u003cbr\u003eFaction: Zaun"}, {"color": "rgba(108, 92, 231, 0.95)", "font": {"color": "white"}, "id": "Vander", "label": "Vander", "shape": "dot", "size": 30, "title": "Role: Rebel\u003cbr\u003eStatus: Dead\u003cbr\u003eFaction: Zaun"}, {"color": "rgba(116, 185, 255, 0.95)", "font": {"color": "white"}, "id": "Marcus", "label": "Marcus", "shape": "ellipse", "size": 15, "title": "Role: Hero\u003cbr\u003eStatus: Alive\u003cbr\u003eFaction: Piltover"}, {"color": "rgba(99, 110, 114, 0.95)", "font": {"color": "white"}, "id": "Caitlyn\u0027s Mother", "label": "Caitlyn\u0027s Mother", "shape": "dot", "size": 15, "title": "Role: Politician\u003cbr\u003eStatus: Dead\u003cbr\u003eFaction: Piltover"}]);
edges = new vis.DataSet([{"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Vi", "label": "Sisters", "smooth": true, "title": "Sisters", "to": "Jinx"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Vi", "label": "Romantic Interests", "smooth": true, "title": "Romantic Interests", "to": "Caitlyn"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Vi", "label": "Teammates", "smooth": true, "title": "Teammates", "to": "Jayce"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Vi", "label": "Enemies", "smooth": true, "title": "Enemies", "to": "Sevika"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Vi", "label": "Father/Daughter", "smooth": true, "title": "Father/Daughter", "to": "Vander"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Jinx", "label": "Rivals", "smooth": true, "title": "Rivals", "to": "Caitlyn"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Jinx", "label": "Rivals", "smooth": true, "title": "Rivals", "to": "Ekko"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Jinx", "label": "Father/Daughter", "smooth": true, "title": "Father/Daughter", "to": "Vander"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Caitlyn", "label": "Allies", "smooth": true, "title": "Allies", "to": "Marcus"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Caitlyn", "label": "Mother/Daughter", "smooth": true, "title": "Mother/Daughter", "to": "Caitlyn\u0027s Mother"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Caitlyn", "label": "Unlikely Allies", "smooth": true, "title": "Unlikely Allies", "to": "Viktor"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Jayce", "label": "Collaborators", "smooth": true, "title": "Collaborators", "to": "Viktor"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Jayce", "label": "Mentors", "smooth": true, "title": "Mentors", "to": "Heimerdinger"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Jayce", "label": "Allies", "smooth": true, "title": "Allies", "to": "Mel"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Viktor", "label": "Allies", "smooth": true, "title": "Allies", "to": "Silco"}, {"arrows": "to", "color": "rgba(223, 230, 233, 0.5)", "from": "Heimerdinger", "label": "Mentors", "smooth": true, "title": "Mentors", "to": "Ekko"}]);
nodeColors = {};
allNodes = nodes.get({ returnType: "Object" });
for (nodeId in allNodes) {
nodeColors[nodeId] = allNodes[nodeId].color;
}
allEdges = edges.get({ returnType: "Object" });
// adding nodes and edges to the graph
data = {nodes: nodes, edges: edges};
var options = {"physics": {"forceAtlas2Based": {"gravitationalConstant": -50, "centralGravity": 0.005, "springLength": 200, "springConstant": 0.08}, "minVelocity": 0.75, "solver": "forceAtlas2Based"}, "edges": {"color": {"inherit": true}, "smooth": {"type": "dynamic"}}, "nodes": {"font": {"size": 16, "face": "Tahoma"}}};
network = new vis.Network(container, data, options);
return network;
}
drawGraph();
</script>
</body>
</html>