2023-07-27 15:36:56 +02:00

67 lines
1.7 KiB
Python

import matplotlib.pyplot as plt
from colour import Color
def rainbow_gradient(num_colors):
colors = []
gradient = list(Color("violet").range_to(Color("red"), num_colors))
for color in gradient:
colors.append(color.hex_l)
return colors
framenb = 1
keyvalues = []
with open('traitementV2/distance.txt', 'r') as f:
lignes = f.readlines()
for ligne in lignes:
line = eval(ligne)
allkeys = list(line.keys())
allkeys.sort()
linedict = {i: line[i] for i in allkeys}
linedict = {cle: valeur for cle, valeur in linedict.items() if valeur >= 0}
for key, value in linedict.items():
if key not in keyvalues:
keyvalues.append(key)
keypositions = {}
for key, i in zip(keyvalues, range(1, len(keyvalues)+1)):
keypositions[key] = i
print('keypositions: ', keypositions)
colors = rainbow_gradient(len(keypositions)+1)
with open('traitementV2/distance.txt', 'r') as f:
lignes = f.readlines()
for ligne in lignes:
line = eval(ligne)
allkeys = list(line.keys())
allkeys.sort()
linedict = {i: line[i] for i in allkeys}
linedict = {cle: valeur for cle, valeur in linedict.items() if valeur >= 0}
plt.figure(1,figsize=[16,9])
plt.xlim([-1,200])
plt.ylim([-1, len(keyvalues)+1])
plt.grid()
nb = 0
for key, value in linedict.items():
plt.plot([0,value],[keypositions[key], keypositions[key]], marker='o', linestyle='-', color=colors[keypositions[key]]) # , color=colors[key]
nb += 1
plt.draw()
plt.pause(0.0001)
plt.savefig(f'traitement/vidresult/{framenb}.png')
framenb += 1
plt.clf()