visualization of the graph on a small set
parent
fc88e24be6
commit
36edd189bc
File diff suppressed because one or more lines are too long
@ -0,0 +1,60 @@
|
||||
from itertools import combinations
|
||||
from math import comb
|
||||
import networkx as nx
|
||||
from pyvis.network import Network
|
||||
|
||||
net = Network(height='100%', width='100%', directed=False, bgcolor='#1e1f29', font_color='white')
|
||||
with open('data/Attori.txt') as ifs:
|
||||
for line in ifs:
|
||||
if line.strip():
|
||||
actor_id, actor_name = line.split(maxsplit=1)
|
||||
net.add_node(int(actor_id), label=actor_name)
|
||||
|
||||
movies = {} # {movie_id: [actor_id, ...]}
|
||||
with open('data/Relazioni.txt') as ifs:
|
||||
for line in ifs:
|
||||
if line.strip():
|
||||
movie_id, actor_id = line.split(maxsplit=1)
|
||||
actor_id = int(actor_id)
|
||||
movie_id = int(movie_id)
|
||||
if actor_id not in net.node_ids:
|
||||
continue
|
||||
if movie_id in movies:
|
||||
movies[movie_id].append(actor_id)
|
||||
else:
|
||||
movies[movie_id] = [actor_id]
|
||||
|
||||
edges = set() # set of unique tuples (actor_id, actor_id)
|
||||
for movie_id, actors in movies.items():
|
||||
actors.sort()
|
||||
for actor_id_1, actor_id_2 in combinations(actors, 2):
|
||||
edges.add((actor_id_1, actor_id_2))
|
||||
for actor_id_1, actor_id_2 in edges:
|
||||
net.add_edge(actor_id_1, actor_id_2)
|
||||
|
||||
# net.hrepulsion(node_distance=500, central_gravity=0.3, spring_length=500, spring_strength=0.05, damping=0.2)
|
||||
# net.repulsion(node_distance=500, central_gravity=0.3, spring_length=200, spring_strength=0.05, damping=0.2)
|
||||
# net.show_buttons()
|
||||
|
||||
net.set_options(""""
|
||||
var options = {
|
||||
"edges": {
|
||||
"color": {
|
||||
"inherit": true
|
||||
},
|
||||
"smooth": false
|
||||
},
|
||||
"physics": {
|
||||
"repulsion": {
|
||||
"centralGravity": 0.25,
|
||||
"nodeDistance": 500,
|
||||
"damping": 0.67
|
||||
},
|
||||
"maxVelocity": 48,
|
||||
"minVelocity": 0.39,
|
||||
"solver": "repulsion"
|
||||
}
|
||||
}
|
||||
""")
|
||||
|
||||
net.show('imdb-graph.html')
|
Loading…
Reference in New Issue