-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplot.py
More file actions
104 lines (88 loc) · 2.4 KB
/
Copy pathplot.py
File metadata and controls
104 lines (88 loc) · 2.4 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
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
import numpy as np
import networkx as nx
from networkx.algorithms import bipartite as bi
import matplotlib.pyplot as plt
import scipy
import pylab
import csv
"Esta función me lee el archivo que contenga una matriz y me la retorna ya organizada en una matriz de numpy"
def leer_matrix(archivo, unitaria = False):
f = open(archivo)
raw = f.read()
matrix = [[]]
numero = ''
j = 0
for i in raw:
if(i == '\n'):
if(numero != ''):
matrix[j].append(abs(int(numero)))
numero = ''
matrix.append([])
j += 1
elif(i == '\t'):
matrix[j].append(abs(int(numero)))
numero = ''
else:
numero += i
f.close()
#matrix.pop()
matrix.pop()
numpy_matrix = np.matrix(matrix)
return numpy_matrix
matrix = leer_matrix("Code_CPP/matrix.csv")
adjacency = scipy.sparse.csc_matrix(matrix)
G = bi.from_biadjacency_matrix(adjacency)
infected = leer_matrix("Code_CPP/Datos/infectados.csv")
color = bi.color(G)
'''
pos=nx.spring_layout(G)
w = csv.writer(open("output.csv", "w"))
for key,val in pos.items():
w.writerow([key,val[0],val[1]])
'''
pos = {}
for i in range(10):
pos[i] = np.array([0, 1-(0.2*i)])
for i in range(9):
pos[10+i] = np.array([0.2, 0.9-(0.2*i)])
for i in range(9):
pos[19+i] = np.array([-0.2, (0.2*i)-0.7])
'''
(p,q) = matrix.shape
list_color = []
for m in range(len(color)):
if(color[m] == 0):
list_color.append('b')
else:
list_color.append('r')
list_labels = {}
for i in range(p):
list_labels[i] = 'E' + str(i+1)
for i in range(q):
list_labels[p+i] = 'T' + str(i+1)
nx.draw_networkx(G,pos, node_color=list_color, labels=list_labels, font_size = 11, node_size = 200)
plt.title("Gráfica")
#plt.savefig('Imagen/' + legend + '.pdf')
plt.show()
#plt.clf()
'''
(n,l) = infected.shape
plt.ion()
plt.show()
#plt.savefig('archivo.gif')
for i in range(50):
list_color = []
for m in range(len(color)):
if(infected.item((i,m+1)) == 1):
list_color.append('g')
elif(color[m] == 0):
list_color.append('b')
else:
list_color.append('r')
nx.draw_networkx(G,pos, node_color=list_color, font_size = 11, node_size = 200)
plt.pause(0.5)
plt.clf()
#plt.title("Gráfica")
#plt.savefig('Imagen/' + legend + '.pdf')
#plt.show(block=False)
#plt.clf()