-
Notifications
You must be signed in to change notification settings - Fork 0
/
graph.html
127 lines (78 loc) · 5.49 KB
/
graph.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/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous"
/>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
crossorigin="anonymous"
></script>
<center>
<h1></h1>
</center>
<style type="text/css">
#mynetwork {
width: 1000px;
height: 1000px;
background-color: #ffffff;
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": "#97c2fc", "id": "Index", "label": "Index", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "SetCurrency", "label": "SetCurrency", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "BrowseProduct", "label": "BrowseProduct", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Close", "label": "Close", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "AddToCart", "label": "AddToCart", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "ViewCart", "label": "ViewCart", "shape": "dot", "size": 10}, {"color": "#97c2fc", "id": "Checkout", "label": "Checkout", "shape": "dot", "size": 10}]);
edges = new vis.DataSet([{"arrows": "to", "from": "Index", "label": "0.3", "to": "SetCurrency", "width": 0.3}, {"arrows": "to", "from": "Index", "label": "0.6", "to": "BrowseProduct", "width": 0.6}, {"arrows": "to", "from": "Index", "label": "0.1", "to": "Close", "width": 0.1}, {"arrows": "to", "from": "SetCurrency", "label": "0.8", "to": "BrowseProduct", "width": 0.8}, {"arrows": "to", "from": "SetCurrency", "label": "0.2", "to": "Close", "width": 0.2}, {"arrows": "to", "from": "BrowseProduct", "label": "0.2", "to": "BrowseProduct", "width": 0.2}, {"arrows": "to", "from": "BrowseProduct", "label": "0.6", "to": "AddToCart", "width": 0.6}, {"arrows": "to", "from": "BrowseProduct", "label": "0.2", "to": "Close", "width": 0.2}, {"arrows": "to", "from": "AddToCart", "label": "0.2", "to": "BrowseProduct", "width": 0.2}, {"arrows": "to", "from": "AddToCart", "label": "0.6", "to": "ViewCart", "width": 0.6}, {"arrows": "to", "from": "AddToCart", "label": "0.2", "to": "Close", "width": 0.2}, {"arrows": "to", "from": "ViewCart", "label": "0.3", "to": "BrowseProduct", "width": 0.3}, {"arrows": "to", "from": "ViewCart", "label": "0.7", "to": "Checkout", "width": 0.7}, {"arrows": "to", "from": "Checkout", "label": "1", "to": "Close", "width": 1}]);
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": {"minVelocity": 0.75, "timestep": 0.22}};
network = new vis.Network(container, data, options);
return network;
}
drawGraph();
</script>
</body>
</html>