-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnodevisualiser.py
More file actions
70 lines (54 loc) · 1.3 KB
/
nodevisualiser.py
File metadata and controls
70 lines (54 loc) · 1.3 KB
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
import string
import random
import pyvis as py
from pyvis.network import Network
import pandas as pd
import networkx as nx
from random import randint, seed, choice
# Seed random
seed(randint(0,1000))
# Node sets
nodeList = []
targetNodeList = []
weightList = []
# Random node generation functions
def generateGNode():
global nodeList
gNode = 'G' + str(randint(0,400))
nodeList.append(gNode)
def generateDNode():
global nodeList
dNode = 'D' + str(randint(0,10))
nodeList.append(dNode)
def nameNNode():
global nodeList
nNode = 'N0'
nodeList.append(nNode)
def generateNodeList():
global nodeList
for i in range(0,250):
generateGNode()
for i in range(0,10):
generateDNode()
nameNNode()
def generateTargetNode():
targetNode = random.choice(nodeList)
targetNodeList.append(targetNode)
generateNodeList()
for x in nodeList:
generateTargetNode()
weightList.append('1')
# Build nodeData set
nodeData = {'source': nodeList, 'target': targetNodeList, 'weight': weightList}
# Create DataFrame
nodes = pd.DataFrame(data = nodeData)
# Testing
g = nx.from_pandas_edgelist(
nodes,
source = 'source',
target = 'target',
edge_attr = 'weight')
# Graphing
net = Network(notebook = True)
net.from_nx(g)
net.show('nodeNetwork.html')