radn-dev/metrics/render.py
2023-06-18 10:39:57 +00:00

24 lines
622 B
Python

import gc
import json
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['figure.figsize'] = [18, 9]
plt.style.use('dark_background')
plt.subplots_adjust(left=0.05, right=0.99, top=0.95, bottom=0.05)
with open('metrics.json', 'r') as file:
entries = json.load(file)
units = []
for i, entry in entries:
x = i
y = entry["metrics"]["halstead"]["difficulty"] or 0.0
y += (hash(entry["name"]) % 201 - 100) / 500
c = entry["metrics"]["halstead"]["bugs"] or 0.0
units.append((x, y, c))
X, Y, C = np.array(units).transpose()
plt.scatter(-X, Y, s=2.0, c=C)
plt.savefig('/code/metrics.png')