-
Notifications
You must be signed in to change notification settings - Fork 2
/
graph.py
38 lines (29 loc) · 925 Bytes
/
graph.py
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
from datetime import datetime
from email.utils import parsedate
import sys
import time
import matplotlib.pyplot as plt
import pandas as pd
d = pd.read_json(sys.argv[1], orient="index")
df = pd.DataFrame(d)
df.columns.names = ["date"]
as_list = df.index.tolist()
for i in as_list:
idx = as_list.index(i)
t = parsedate(i)
as_list[idx] = datetime.fromtimestamp(time.mktime(t))
df.index = as_list
print(df)
ax = plt.gca()
df.plot(y="total", color="blue", ax=ax)
df.plot(y="fail", color="gray", ax=ax, dashes=(2, 1))
df.plot(y="pass", color="green", ax=ax, dashes=(4, 1))
if "gnu" in sys.argv[1]:
df.plot(y="error", color="orange", ax=ax, dashes=(6, 2))
plt.xticks(rotation=45)
if "gnu" in sys.argv[1]:
plt.title("Rust/findutils running GNU testsuite")
plt.savefig("gnu-results.png", dpi=199)
else:
plt.title("Rust/findutils running BFS testsuite")
plt.savefig("bfs-results.png", dpi=199)